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 =520
printf("In func,a=%d,b=%d\n",a,b);
}
int main()
{
printf("In main,a=%d,b=%d\n",a,b);//打印出全局变量ab
func();
printf("In main,a=%d,b=%d\n",a,b);
return 0;
}