課程
/后端開發
/C
/C語言入門
這里的printf("main方法內,?x=%d\n",?x);輸出的為啥不是10,為啥是50呢??
2015-08-08
源自:C語言入門 5-10
正在回答
#include?<stdio.h> int?x?=?77; void?fn1() { ????printf("fn1():?x=%d\n",?x);??????? } int?main() { ????int?x?=?10; ????if(x>0) ????{ ????????x?=?100; ????????x?/=?2; ????????printf("if語句內,?x=%d\n",?x);??????? ????} ????printf("main方法內,?x=%d\n",?x); ????fn1(); ????return?0; }
看看代碼我們知道了啊.
因為在main()中重新定義了x變量位10.
然后在
if(x>0) { ????x?=?100; ????x?/=?2; ????printf("if語句內,?x=%d\n",?x);??????? }
中是沒有重新定義x變量,而是給x變量賦予了新值100.
x?=?100;
看到沒.是賦值.而不是定義.而后
x?/=?2;
也就是50了.在后面的輸出自然是50.
逆水中的魚 提問者
舉報
C語言入門視頻教程,帶你進入編程世界的必修課-C語言
4 回答全局與局部
2 回答局部與全局
4 回答局部與全局
1 回答局部與全局
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-08-08
看看代碼我們知道了啊.
因為在main()中重新定義了x變量位10.
然后在
中是沒有重新定義x變量,而是給x變量賦予了新值100.
看到沒.是賦值.而不是定義.而后
也就是50了.在后面的輸出自然是50.