自增自減是怎么運(yùn)算的?
int x =100;
??? printf("x=%d\n",x++);
??? printf("x=%d\n",++x);
?? printf("x=%d\n",--x);
??? printf("x=%d\n",x--);
?
int x =100;
??? printf("x=%d\n",x++);
??? printf("x=%d\n",++x);
?? printf("x=%d\n",--x);
??? printf("x=%d\n",x--);
?
2016-01-17
舉報(bào)
2016-01-17
x++就是先把數(shù)取出來再把原來的+1 ?++x是先+1再得出 如x=1 先x++得出1 再++x的話=2 ?不知道對不對新手求教
2016-01-17
第一步,x++就是先取值再運(yùn)算,()里的“x=%d”就是一個(gè)取值過程,所以它先取值x=100,并輸出100,然后運(yùn)算(+1),之后x就是101了;
第二步,開始時(shí)如上最后所述,x=101,++x就是先運(yùn)算(+1)=102再取值,所以取值x=102,并輸出102;
第三步,開始時(shí)如上最后所述,x=102,--x就是先運(yùn)算(-1)=101再取值,所以取值x=101,并輸出101;
第四步,開始時(shí)如上最后所述,x=101,x--先取值x=101,并輸出101,然后運(yùn)算(-1),當(dāng)然運(yùn)算后的結(jié)果x=100就和這一步輸出的結(jié)果無關(guān)了,它只影響之后的運(yùn)算(如果有的話)。
2016-01-17
++i與i++的區(qū)別為i++為參與運(yùn)算后加一,而++i先加一后運(yùn)算
假如
i=5;
printf("%d",i++);
i++是先取值,printf這個(gè)函數(shù)當(dāng)然取的是i=5的時(shí)候的值。
i=5;
printf("%d",++i)
則是先自加后,再把i的值取出來,printf所取的i值當(dāng)然就是6