#include <stdio.h>
int x = 77; /*全局變量x*/
void fn1()
{
extern int y; /*使用外部全局變量y,如果不加extern編譯不通過*/
printf("fn1(): x=%d,y=%d\n",x,y); //x=77,y=88;
}
void fn2()
{
extern int y; /*使用外部全局變量y,如果不加extern編譯不通過*/
y=888; /*修改外部全局變量y爲888*/
printf("fn2(): x=%d,y=%d\n",x,y); //x=77,y=888;
}
int y = 88; /*全局變量y*/
void fn3()
{
printf("fn3(): x=%d,y=%d\n",x,y); //x=77,y=888,y無須使用extern因爲y定義在fn3()前面。
}
int main()
{
int x = 10; /*main方法內的局部變量x*/
if(x>0)
{
int x = 100; /*if語句內的局部變量x*/
x/=2;
printf("if語句內, x=%d\n",x); //x=50;
}
printf("main方法內, x=%d\n",x);//x=10;
fn1();
fn2();
fn3();
getch();
return 0;
}
運行結果:
------------------------------------------
if語句內, x=50
main方法內, x=10
fn1(): x=77,y=88
fn2(): x=77,y=888
fn3(): x=77,y=888