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条回答
hhxb
2020-02-02 02:15
本帖最后由 hhxb 于 2013-3-26 21:54 编辑

中国人长期受应试教育的荼毒,形成了错误思维定势
我看过一本书讲过这类问题,
详细区分了三种情况。 未规定,由编译器自己去确定,编译器个不一样;
                  不确定,某家编译器自己制定的标准,所有版本均一直。
                  未知,编译器的前后版本也不一致;

                  

一周热门 更多>