认真在吃 发表于 2014-1-21 21:50:11

C语言中关于自增自减符的菜鸟问题 求好心人解答呀

#include<stdio.h>
void main()
{
        int i=8;
        printf("%d\n",++i);
                printf("%d\n",--i);
        printf("%d\n",i++);
        printf("%d\n",i--);
        printf("%d\n",-i++);
        printf("%d\n",-i--);
}
其中的第二,四,六的输出结果不理解呀 结果为8,9,-9
#include<stdio.h>
void main()
{
        int i=5,j=5,p,q;
        p=i++ + i++ + i++;
        q= ++j + ++j + ++j ;
        printf("%d,%d,%d,%d",p,q,i,j);
}
P的结果不理解 结果为22

牛头的主人 发表于 2014-1-21 22:49:21

前自+ or - 是先运算再输出,后的先输出再自+ or -。关于第二个例子,各个编译器里的结果可能都会不同,不要纠结于这种++--的运算,没意义,实际不会用到这些。这是中国的教育垃圾才会弄这些例子出来,完全没意义。这就像一个人会走路了,非要爬着走。

牡丹花下死做鬼 发表于 2014-1-21 22:52:09

论坛搜索下有很多 应为这个问题N多人问过了 也有N多人给予了详细的回答

认真在吃 发表于 2014-1-23 15:06:57

谢谢楼上各位 知道了

fishc_hz 发表于 2014-1-23 23:23:19

第二个程序p的值应该是15吧

秦随境迁 发表于 2014-1-24 00:17:49

第一个的还好理解些,第二个程序就是操蛋的大学等级考试才会考这种,不同的编译器编译的方式都不同,结果也不一定相同,但是能肯定的是,正常人是不会写这种代码的

我爱鱼C论坛 发表于 2015-2-19 20:38:37

页: [1]
查看完整版本: C语言中关于自增自减符的菜鸟问题 求好心人解答呀