都快崩溃了,到底是为什么?公式没任何错误!不光如此,我输入b的值为0.5,口算也能得出x的值是602,结果VB居然给出301!到底是怎么回事??
程序中的表达式与数学中的方程式不是同一个概念,请牢记!!!
x尚未赋值前它的默认值为0,也就是说 x = b * x + b * 602 中的第二个x它的值是0!
因此当b=0.9时:
x = b * x + b * 602 = 0.9 * 0 + 0.9 * 602 = 0 + 541.8 = 542(取整)
当b=0.5时:
x = b * x + b * 602 = 0.5 * 0 + 0.5 * 602 = 0 + 301 = 301
如果在这时候再次执行这个赋值语句,则第二个x的值就是301了:
x = b * x + b * 602 = 0.5 * 301 + 0.5 * 602 = 150.5 + 301 = 452(取整)
补充说一下:
在数学中,像 x = x + 1 这样的等式是永远不可能成立的对吧?但是在电脑程序中,这是一个正确的赋值语句,意思是x在原有值的基础上再加1,比如说x原来的值是3,那么经过 x = x + 1 后,x的值就变为4
追问十分感谢你耐心的解答,我现在懂了,感激不尽!
...602,输入b的值为0.9,输出x的值理应为5418,为什么VB输出的值是542...
x尚未赋值前它的默认值为0,也就是说 x = b * x + b * 602 中的第二个x它的值是0!因此当b=0.9时:x = b * x + b * 602 = 0.9 * 0 + 0.9 * 602 = 0 + 541.8 = 542(取整)当b=0.5时:x = b * x + b * 602 = 0.5 * 0 + 0.5 * 602 = 0 + 3...