為什么調(diào)換x++和++x編碼以后第一個(gè)printf輸出是0?
#include
int main() { ? ?int x = 0; ? ?printf("x=%d\n",x++); ? ?printf("x=%d\n",++x); ? ?return 0; }為什么第一個(gè)printf結(jié)果是0?麻煩具體點(diǎn),多謝#include
int main() { ? ?int x = 0; ? ?printf("x=%d\n",x++); ? ?printf("x=%d\n",++x); ? ?return 0; }為什么第一個(gè)printf結(jié)果是0?麻煩具體點(diǎn),多謝2016-09-06
舉報(bào)
2016-09-06
同學(xué),給你舉個(gè)例子看看能不能理解
int i = 0,j=0;
int a = i++;????int b = ++j;
輸出a和b;(a應(yīng)該為0,b為1)
輸出i和j;(i和j應(yīng)該都為1)
這個(gè)例子可以看出,i++是先賦值后運(yùn)算的,而++j是先自增后運(yùn)算的
以后碰到這樣的就這樣算,
i++即后綴運(yùn)算,賦值后在自增
++i即前綴運(yùn)算,自增后在賦值
滿意請(qǐng)采納~thanks
2016-09-06
因?yàn)轫樞颍簒++是先出后+1
++x是先+1后輸出