主函數中int i = 0,調用的函數中是int x = 1是啥意思
#include <stdio.h>
void fn()
{
? ? static int x = 1; ? //定義靜態局部變量
? ? x*=2;
? ? printf("x=%d\n",x); ? ??
}
int main()
{
? ? int i;
? ? for(i=0;i<5;i++)
? ? {
? ? ? ? fn();
? ? }
? ? extern ?int x; ? ? ?//調用外部變量
? ? printf("x=%d\n",x);
? ? return 0;
}
int x=100;
2017-04-08
兩個沒有直接聯系
2017-04-08
主函數中的int i=0只是是給i的初始化,
調用的int x = 1
是fn()這個無參數調用函數的函數體的一部分,對靜態局部變量x的初始賦值。
int i與int x沒有直接關系。