[課業] 資料處理

作者: flyyen ( )   2014-10-24 23:35:58
請寫出程式的輸出結果
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?
麻煩各位高手幫小弟解惑, 謝謝!
作者: ARCHERDEVIL (開弓)   2014-10-25 10:03:00
1. main()裡面的 int b 沒有用extern 去定義所以b=6不會被指定到外層的b 變數2. func()沒有導入任何參數,所以func()裡面的ab要取用最外層的ab。
作者: flyyen ( )   2014-10-26 00:01:00
謝謝ARCHERDEVIL大詳細的說明

Links booklink

Contact Us: admin [ a t ] ucptt.com