C语言中的++j问题!

来源:百度知道 编辑:UC知道 时间:2024/05/15 15:10:25
谭浩强书上的一道题,我没看懂:
main()
{int j=5,q;
q=(++j)+(++j)+(++j);
printf("%d,%d",q,j);}
我用TC运行的结果是24,8
我没搞懂怎么来的?请高手赐教解题思路,谢谢!
只需解释在TC上运行思路就可以了

我用的是DEV C++输出时22,8
恩~好比(i++)+(i++)+(i++)当i=3时有的编译系统会输出12;而有的(Tc和MSC)会输出9。。。编译系统的默认方式不同~

你的可以这么看~
++j j=6
++j j=7
++j j=8
返回j=8;
q=8+8+8=24
只是根据你的程序和你给的结果看得~~只作参考~

我这个是vs2005,输出的是21,不过建议你不用看这类式子了,因为在实际代码中没人会这样写的......