不明白是怎么算的,為什么是100而不是101
#include <stdio.h>
int main()
{
? ? int x = 100;
? ? printf("x=%d\n",x++);
? ? return 0;
}
不明白這個為什么是100而不是101,x++先取值是100,然后再自加,不是應該是101嗎,是我哪里理解錯了?求解
#include <stdio.h>
int main()
{
? ? int x = 100;
? ? printf("x=%d\n",x++);
? ? return 0;
}
不明白這個為什么是100而不是101,x++先取值是100,然后再自加,不是應該是101嗎,是我哪里理解錯了?求解
2018-03-03
舉報
2018-04-03
確實是101,不過顯示出來的是100,因為取值是100,還有1個相當于隱形的,在心里,所以,在下面第二排再次加1時,就變成102,而第三排減1,因為是先減再取值,所以是101 ,而第四,先取值再減,所以顯示的是101,但是其實應該是100了。
2018-03-03
執行printf的時候,x取值100。printf方法執行完畢,x才自加。
2018-03-03
x++運算優先級是:程序先按照原先數值(100)運行,該次運行完成后 自+1,故在執行完printf("x = %d \n,x++")之后 x的數值才等于101,打印過程仍舊為100.