課程
/后端開發
/C
/C語言入門
我糾結的是x=0時,x++和++x為什么一個值為0,一個值為2
2015-06-07
源自:C語言入門 3-3
正在回答
x++是先取值后運算,那么?printf("x=%d\n",x++);這時候先取x的值是0就直接輸出x的值,所以它輸出的值就是0。取到值以后的運算并不影響到這個輸出語句。
++x是先運算后取值,上一個輸出語句printf("x=%d\n",x++);運算后x=1,那么現在就是在x=1的基礎上運算再取值,所以x又自增1了,即1+1,這時候的printf("x=%d\n",++x);就輸出了2。
AnswerCainslupus
Perona 回復 AnswerCainslupus
AnswerCainslupus 回復 Perona
舉報
C語言入門視頻教程,帶你進入編程世界的必修課-C語言
5 回答x=0. x++=0是為什么?
4 回答int x;(x=2*3,x+4),x*3; x=10,請問為什么?
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; //定義靜態局部變量 x*=2; printf("x=%d\n",x); } int main() { int i; for(i=0;i<5;i++) { fn(); } extern int x; //調用外部變量 printf("x=%d\n",x); return 0; } int
3 回答為什么 x=x*2,輸出是20。 x==x*2 輸出是10?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-06-07
x++是先取值后運算,那么?printf("x=%d\n",x++);這時候先取x的值是0就直接輸出x的值,所以它輸出的值就是0。取到值以后的運算并不影響到這個輸出語句。
++x是先運算后取值,上一個輸出語句printf("x=%d\n",x++);運算后x=1,那么現在就是在x=1的基礎上運算再取值,所以x又自增1了,即1+1,這時候的printf("x=%d\n",++x);就輸出了2。