c语言++运算符的详细执行步骤,运算的和书籍的结果不一...

2020-01-30 13:59发布

本帖最后由 未来电子 于 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,
第二个结果就不明白了,会的解释一下
软件换过好几个都是这个情况。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
19条回答
Alimy
2020-01-31 23:43
本帖最后由 Alimy 于 2013-3-26 14:01 编辑

请不要研究   q=(++j)+(++j);或者  q=(++j)+(++j)+(++j);这种问题。。
毫无意义,浪费生命。。。。
简而言之依赖于实现,不同的编译器就会有不同的结果。。
对于自加运算符。
只要搞清楚 :  q= i++; 和 q = ++i;的区别就行了。。
--------------------------------------------------------------------------
如果一定要研究。对底层实现有兴趣的话,请自学汇编语言,看汇编代码...

一周热门 更多>