电路板维修的检测方法:c语言的另一个程序

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/04 19:58:05
main()
{
intj,i=3;
j=(++i)+(++i)+(++i);
printf("%d",j);
结果是18 我怎么算 也不是18 啊 迷糊

结果是18,因为在执行语句(++i)+(++i)+(++i)的时候变量i采取的都是"前++",即执行该语句之前就对各变量进行自加运算.
所以该表达式相当于
++i;//i的值为4
++i;//i的值为5
++i;//i的值为6
j=i+i+i;//j的值为6+6+6=18
执行完后j的值为18,i的值为6;

4+5+(4+5)=多少?不用我说了吧,
分析:++I 走起来+1,于是J=4+5,然后第3个I等4+5等于9,于是3个等式加起等于18

这种程序很危险,不提倡!!

VC编译器是 18 ,可能Borland C 可能就是15。

有副作用!!!!!!!!!!!!