關于自增自減的問題
#include?<stdio.h> int?main(int?argc,?char?**argv) { ?????int?a=100; ?????int?b=50; ?????printf("%d,%d\n",a++,++a); ?????printf("%d,%d",b++,++b);? ?????return?0; } 這道題目中,為什么a++輸出是101而不是100?不太明白,求各位大神解答。
#include?<stdio.h> int?main(int?argc,?char?**argv) { ?????int?a=100; ?????int?b=50; ?????printf("%d,%d\n",a++,++a); ?????printf("%d,%d",b++,++b);? ?????return?0; } 這道題目中,為什么a++輸出是101而不是100?不太明白,求各位大神解答。
2020-01-26
舉報
2020-03-26
因為最后輸出的是++a,計算出來a是100,++a是在輸出之前給加1。所以輸出的a就是101。
2020-02-17
a++跟++a一樣,都可以用a=a+1表示,a++要先取值后,a的值再自增1(先取值再運算)。++a先自增1后再取值(先運算再取值)