課程
/后端開發(fā)
/C
/C語言入門
我糾結(jié)的是x=0時(shí),x++和++x為什么一個(gè)值為0,一個(gè)值為2
2015-06-07
源自:C語言入門 3-3
正在回答
x++是先取值后運(yùn)算,那么?printf("x=%d\n",x++);這時(shí)候先取x的值是0就直接輸出x的值,所以它輸出的值就是0。取到值以后的運(yùn)算并不影響到這個(gè)輸出語句。
++x是先運(yùn)算后取值,上一個(gè)輸出語句printf("x=%d\n",x++);運(yùn)算后x=1,那么現(xiàn)在就是在x=1的基礎(chǔ)上運(yùn)算再取值,所以x又自增1了,即1+1,這時(shí)候的printf("x=%d\n",++x);就輸出了2。
AnswerCainslupus
Perona 回復(fù) AnswerCainslupus
AnswerCainslupus 回復(fù) Perona
舉報(bào)
C語言入門視頻教程,帶你進(jìn)入編程世界的必修課-C語言
5 回答x=0. x++=0是為什么?
4 回答int x;(x=2*3,x+4),x*3; x=10,請(qǐng)問為什么?
4 回答#include <stdio.h> int main() { int x = 10; int y = 10; x=x*2; y*=2; printf("x=%d\n", x); printf("y=%d\n", y); return 0; }
2 回答#include <stdio.h> void fn() { static int x = 1; //定義靜態(tài)局部變量 x*=2; printf("x=%d\n",x); } int main() { int i; for(i=0;i<5;i++) { fn(); } extern int x; //調(diào)用外部變量 printf("x=%d\n",x); return 0; } int
1 回答x=x*2; //前面為什么不加int
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2015-06-07
x++是先取值后運(yùn)算,那么?printf("x=%d\n",x++);這時(shí)候先取x的值是0就直接輸出x的值,所以它輸出的值就是0。取到值以后的運(yùn)算并不影響到這個(gè)輸出語句。
++x是先運(yùn)算后取值,上一個(gè)輸出語句printf("x=%d\n",x++);運(yùn)算后x=1,那么現(xiàn)在就是在x=1的基礎(chǔ)上運(yùn)算再取值,所以x又自增1了,即1+1,這時(shí)候的printf("x=%d\n",++x);就輸出了2。