資料處理 - 考試

Table of Contents

請寫出程式的輸出結果
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?

麻煩各位高手幫小弟解惑, 謝謝!

--

All Comments

Freda avatarFreda2014-10-28
1. main()裡面的 int b 沒有用extern 去定義
Anthony avatarAnthony2014-10-30
所以b=6不會被指定到外層的b 變數
Charlie avatarCharlie2014-11-04
2. func()沒有導入任何參數,所以func()裡面的ab要
取用最外層的ab。
Franklin avatarFranklin2014-11-05
謝謝ARCHERDEVIL大詳細的說明