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条回答
rookies
2020-02-01 12:48
你连程序都没抄对,看起来太乱好好的理一下,你定义一个数,就是在内存中弄一个单元,然后存起来。你要对这个内存单元操作,那么++ 几次 最后处理加起来不就完了,你认为编译器会那么笨弄一个中转!printf 少用,DEBUG 看看 内存中,数据是什么样的,不行就看看反汇编是如何实现的。

一周热门 更多>