int a,b=5; a=(++b)+(++b)+(++b)+(++b);

来源:百度知道 编辑:UC知道 时间:2024/05/24 01:15:44
按照书上说的结果是36,是因为最后b为9,4*9=36,可我实际运行的结果是31,为什么??

这个表达式在不同的C系统中会有不同的结果。

这种问题没有意思,在实际编程中,一个有经验的程序员绝不会使用这种愚蠢的代码!

运行结果就是36啊,我运行过了.但我自已算得是30,理由是:a=(++b)+(++b)+(++b)+(++b)=6+7+8+9=30

不明白是怎么回事,MS是少加了一个5...但按函数来算不可能是31啊。..

记住C是从等式左边开始执行得!
9+8+7+6= 30