(++i)*(++i)的问题

来源:百度知道 编辑:UC知道 时间:2024/05/15 18:40:06
i=5
结果多少
按步讲解(我是菜鸟)
我用turbo c运行,是49!!
怎么回事

VB和C 的运算结果一样吗?

42吧,先算右边的(++i)=6,再算左边的(++i)=7,相乘,不知道对不对

编译器不一样的话可能输出就不一样

要看编译器了,ANSI C++应该是6*7=42,你的编译器是执行完右边的++后才乘的,所以是7*7=49

++i,先自加,再运算,i=5,运行第一个++i后,得i=6,接着运行++i,得i=7;然后7*7=49

42

(++i)*(++i)根据运算符级别先算()内的
++i后i=6;然后第二个(++i)此时变量i被重新符值i=7
最后算i*i;这时就是7*7=49了;
不知道这样对不对