c语言递增,递减预算符问题。

来源:百度知道 编辑:UC知道 时间:2024/05/29 09:58:06
有个问题弄不懂,还请各位高手帮帮忙,小弟在这先谢谢了。
main()
{
int a=1000;
printf("%d\n",a++);
printf("%d\n",++a);
printf("%d\n",a--);
printf("%d\n",--a);
}
打印出结果为:1000,1002,1002,1000
怎么算的,问一下详细过程,我不太懂。
楼上那为朋友有QQ号,或者群吗,加你好友,分给你,我太苯,不太明白

++在前面是先自增后执行操作
++在后面是先执行操作后自增
--与++是一样的做法
printf("%d\n",a++); //++在后面,先打印,a = 1000, 后自增,结果 打印的时候是1000, 后++变成了1001
printf("%d\n",++a); //++在前面先自增在执行操作,自增后是1002,所以打印的时候是1002
//下面的--我就不多说了
printf("%d\n",a--);
printf("%d\n",--a);

++或--符号在前是先计算,后赋值
++或--符号在后正好相反
比如本例
先打印出来1000,再++,现在a为1001
第二个先++,a变为1002,在打印
第三个先打印1002,再--,现在a为1001
第四个先--,a变为1000,再打印

a++:先对a 操作,然后a自加,也就是先输出1000,然后a变成1001
++a:先a自加,也就是变成1002,然后对a 操作,也就是输出a,此时=1002
a--和--a也一样的道理
自己分析一下就知道后面是怎么输出的