本帖最后由 未来电子 于 2013-3-26 19:32 编辑
int p,q,i,j;
i=j=3;
q=0;
q=++j
printf("%d,",q);
这时候的运算的值是4,
int p,q,i,j;
i=j=3;
q=0;
q=(++j)+(++j);
printf("%d,",q);
这时候的运算的值是10,
int p,q,i,j;
i=j=3;
q=0;
q=(++j)+(++j)+(++j);
printf("%d,",q);
这时候的运算的值是16,
第二个结果就不明白了,会的解释一下
软件换过好几个都是这个情况。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
请不要研究 q=(++j)+(++j);或者 q=(++j)+(++j)+(++j);这种问题。。
毫无意义,浪费生命。。。。
简而言之依赖于实现,不同的编译器就会有不同的结果。。
对于自加运算符。
只要搞清楚 : q= i++; 和 q = ++i;的区别就行了。。
--------------------------------------------------------------------------
如果一定要研究。对底层实现有兴趣的话,请自学汇编语言,看汇编代码...
一周热门 更多>