#include <stdio.h>
int a=3;//全局
int huhuan(int a)//在这个函数中a按照自己函数定义的值用,也就是a=5
{
a=5;
printf("a=%d\n",a);//所以,这个时候打印输出的a=5
return a;//这里返回的值也是5
}
int main()
{
huhuan(a);//调用函数,返回5,但是没改变全局a的值
a=huhuan(a);//如果把这里改为a=...那么输出打印便是5了
printf("a=%d\n",a);//打印a的值,回到了主函数,所以a=3
return 0;
}
我执行了你的函数,结果数a=5
a=3
解释看上面
我看了你的程序,首先呢!你在开头定义的a是全局变量,你在huhuan函数中定义的a是局部变量,那么在通常情况a=全局变量的值,但是当你进入huhuan函数中时,便等于局部变量的值5了。
希望能对你有帮助,不懂再问!
[
本帖最后由 hl709632728h 于 2013-8-28 15:14 编辑 ]