運算邏輯怎么理解
為什么輸出結(jié)果是2、4、8、16、32
#include <stdio.h>
void fn()
{
? ? static int x = 1; ? //定義靜態(tài)局部變量
? ? x*=2;
? ? printf("x=%d\n",x); ? ??
}
int main()
{
? ? int i;
? ? for(i=0;i<5;i++)
? ? {
? ? ? ? fn();
? ? }
? ? extern int x; ? ? ?//調(diào)用外部變量
? ? printf("x=%d\n",x);
? ? return 0;
}
int x=100;
2018-12-24
? 在 fn() 函數(shù)中? 你定義的是 static形式 它會保存你上次運行的值x ,? 而你的x=1 值有開始 會賦值 ,后面的x都是你上次的值