亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于局部靜態變量

請問為什么 int x = 1如果不加? static 的話 x 輸出全都是 2 呢


#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;


正在回答

1 回答

不加static, x就是局部自動變量,每一次調用fn()時,都會重新定義x為1,輸出2*x,就是2,調用完后x自動銷毀

5 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

關于局部靜態變量

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號