P31局部变量和全局变量
1、不同函数的变量无法相互访问,for语句里面的i,main函数无法访问,所以程序运行之后after,i依然等于520。
#include<stdio.h>
int main()
{ int i=520;printf("before,i=%d\n",i);for(int i=0;i<10;i++){printf("%d\n",i);}printf("after,i=%d\n",i);
return 0;
}
2、count作为全局变量
#include<stdio.h>
void a();//void用于函数声明. 没有返回值的函数,其类型为 void
void b();
void c();
int count =0;//count是全局变量,在abc中都可用;
//int count;这个语句也会自动把count初始化为0
void a()
{count++;
}
void b()
{count++;
}
void c()
{count++;
}
int main()
{a();//调用前面定义过的函数b();c();b();printf("小郭今天被抱了%d次!\n",count);return 0;
}
3、
#include<stdio.h>
void func();
int a,b =520;
void func()
{int b;//与全局变量b同名,屏蔽全局变量b =520//a由于没有在局部变量中定义,就没有同名而言,所以第二次main中a的值被修改a=880;b=120;//此处的修改不会影响全局变量b =520,所以第二次main中b =520printf("In func,a=%d,b=%d\n",a,b);
}
int main()
{printf("In main,a=%d,b=%d\n",a,b);//打印出全局变量abfunc();printf("In main,a=%d,b=%d\n",a,b);return 0;
}