c語言:全局變量與局部變量的區別
靜態的全局變量:
程序:
#include<stdio.h>
#include<stdlib.h>
void fun()//fun為定義的一個函數
{
int i = 0;
static int num = 0;
for (i = 0; i < 10;i++)
{
num = 0;//一旦進入for循環,全局變量就賦值為0
num++;
printf("%d ",num);
}
}
int main()
{
fun();
system("pause");
return 0;
}
結果:
1 1 1 1 1 1 1 1 1 1 請按任意鍵繼續. . .
局部變量:
程序:
#include<stdio.h>
#include<stdlib.h>
void fun()//fun為定義的一個函數
{
int i = 0;
for (i = 0; i < 10;i++)
{
int num = 0;//局部變量,只在函數內部作用
num++;
printf("%d ",num);
}
}
int main()
{
fun();
system("pause");
return 0;
}
結果:
1 1 1 1 1 1 1 1 1 1 請按任意鍵繼續. . .
靜態變量初始化:
程序:
#include<stdio.h>
#include<stdlib.h>
void fun()//fun為定義的一個函數
{
int i = 0;
for (i = 0; i < 10;i++)
{
static int num = 0;//靜態變量,相當於初始化只執行一次
num++;
printf("%d ",num);
}
}
int main()
{
fun();
system("pause");
return 0;
}
結果:
1 2 3 4 5 6 7 8 9 10 請按任意鍵繼續. . .