-
小雾3378873
#include <studio.h>int main(){ int a=100; //a=100 printf("%d\n",a++); //先显示输出a的值(100),然后计算a=a+1 =101 printf("%d\n",++a); //先计算a=a+1=101+1=102,然后显示输出a的值(102) printf("%d\n",--a); //先计算a=a-1=102-1=101,然后显示输出a的值(101) printf("%d\n",a--); //先显示输出a的值(101),然后计算a=a-1=101-1=100 printf("%d\n",a+1); //显示输出a+1的值(100+1=101),注意,a值不变还是100 printf("%d\n",a); //显示输出a的值(100) return 0;}a++ a-- 先用再计算赋值++a --a 先计算赋值再用
-
慕粉3291149
a++的意思是先调用a然后a在加一(调用的时候a还没有加一) ++a的意思是a先加一,在调用(调用a的时候a已经加一了)a--和--a同上第一个print(a++) 输出100 先输出a(a此时为100),然后a在加一 ,即 a=100+1=101;第二个print(++a) 输出102 a先加1 即 a=101+1=102;然后输出a(此时a为102)其他同上
-
楽兿
我之前也没明白,我觉得你跟我是一样的情况就是没有明白其实下一行输出中的a其实是上一个语句执行完的结果例如 printf("%d\n",++a);这里的a不再是初始值100了而是进行a++之后的101,所以再执行++a的时候,不是取值100+1而是a++之后的101+1=102。这一种情况你弄明白之后,下面的几条应该就都明白了
-
onemoo
自增自减涉及到很多内容,课程中都没有讲明白。我在老区有一个详细回答,请看这里 http://www.imooc.com/qadetail/83948