[課業] 資料處理

看板Examination作者 ( )時間9年前 (2014/10/24 23:36), 編輯推噓1(104)
留言5則, 2人參與, 最新討論串1/2 (看更多)
請寫出程式的輸出結果 int a=5,b=10; int main(){ int func(); extern int a; int b; a=b=6; func(); } int func(){ printf("%d%d",a,b); } 輸出結果: 610 我的問題:extern int a; 從網路上找到的資料是說,此變數已在別處定義,告知程式到別的地方 尋找此變數。所以在主程式中,a一開始為5,之後被指定成6,再將a=6 及b=6帶入func(),但print出來的結果怎麼不會是66? 麻煩各位高手幫小弟解惑, 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.232.169.223 ※ 文章網址: http://www.ptt.cc/bbs/Examination/M.1414164961.A.543.html

10/25 10:03, , 1F
1. main()裡面的 int b 沒有用extern 去定義
10/25 10:03, 1F

10/25 10:04, , 2F
所以b=6不會被指定到外層的b 變數
10/25 10:04, 2F

10/25 10:05, , 3F
2. func()沒有導入任何參數,所以func()裡面的ab要
10/25 10:05, 3F

10/25 10:05, , 4F
取用最外層的ab。
10/25 10:05, 4F

10/26 00:01, , 5F
謝謝ARCHERDEVIL大詳細的說明
10/26 00:01, 5F
文章代碼(AID): #1KId7XL3 (Examination)
討論串 (同標題文章)
文章代碼(AID): #1KId7XL3 (Examination)