1. 程式人生 > 其它 >C語言全域性變數問題

C語言全域性變數問題

技術標籤:c語言

#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(); } //總結:理解全域性變數的作用範圍,在他範圍內可以不定義直接使用。定義全域性變數之後,一下就都是他的範圍內了。

在這裡插入圖片描述