#include<stdio.h>
void fun()
{
printf("%d,%d",a,b);//有错误,因为a,b在他下面定义
}
char a='A',b='B';
void fun1()
{
a='C';
b='D';
}
int main()
{
fun();
printf("%c,%c"a,b);//输出C,D
fun1();//
}
//对于fun1来说,他的a,b都在全局变量所以在主函数中调用不变。
//可变为下面
{ char a='A',b='B';
void fun1()
{
a='C';
b='D';
}
int main()
{
fun();
printf("%c,%c"a,b);//输出C,D
fun1();//
}
}//fun1(),main()都在a,b变量范围内。
//下面这个才对
#include<stdio.h>
char a='A',b='B';
void fun()
{
printf("%d,%d",a,b);
}
void fun1()
{
a='C';
b='D';
}
int main()
{
fun();
printf("%c,%c",a,b);
fun1();
}
//总结:理解全局变量的作用范围,在他范围内可以不定义直接使用。定义全局变量之后,一下就都是他的范围内了。