首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

一道题

2012-02-10 
求助一道题intafun(inti){a+2*ireturna}main(){inta10printf( %d,%d\n ,fun(a),a)}[解决办法]int

求助一道题
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); /*局部变量释放*/

} /*全局变量释放*/
[解决办法]
???没明白楼主想要问什么

热点排行