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