[课业] 资料处理

楼主: 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