求助一道题
int a;
fun(int i)
{ a+=2*i;
return a; }
main(){
int a=10;
printf( "%d,%d\n ",fun(a),a);
}
[解决办法]
int a;
int fun(int i)
{ a+=2*i;
return a; }
int main(){
int a=10;
printf( "%d,%d\n ",fun(a),a);
return 0;
}
楼主是这个意思吗?
[解决办法]
不明白什么意思
声明的外部全局变量a默认初始化为0,所以fun的返回值为0+2*10
[解决办法]
如果在全局变量的范围内出现了与全局变量同名的局部变量,则在局部变量的范围内,全局变量被屏蔽,在这个函数中全局变量与局部变量的范围如下:
int a; /*全局变量开始*/
fun(int i)
{ a+=2*i;
return a;
}
main(){
int a=10; /*局部变量开始*/
printf( "%d,%d\n ",fun(a),a); /*局部变量释放*/
} /*全局变量释放*/
[解决办法]
???没明白楼主想要问什么