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

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

變量存儲類別

這個·代碼講述的什么意思啊

#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 回答

其實就是在告訴你靜態變量,局部變量,外部變量的特性而已。

程序從main函數開始有一個for循環不斷進入函數fn,打印出來的值是2、4、8、16、32。就是2的一到五次方,這部分是在說明靜態變量的特點。簡單說就是靜態變量會自己儲存為上次被賦予的值。出循環后調用一個外部變量,就是最下面的int x =100;這里是告訴你怎么調用一個外部變量。

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

空條承太郎乀 提問者

非常感謝!明白了=-=
2018-02-08 回復 有任何疑惑可以回復我~
#2

空條承太郎乀 提問者

#include <stdio.h> int total (int a,int b) { int qb=13; float dj=2.3; float price; if (a>0&&a<=5) { dj=dj * 1.2; } else price=(b-3)*dj+qb+1; } int main() { float x=total(9,12); printf("小明每天打車的費用為%d元?",x); return 0; } 可以幫我看下這個為什么輸出不了正確的結果嗎
2018-02-08 回復 有任何疑惑可以回復我~
#3

世末理想鄉 回復 空條承太郎乀 提問者

沒有返回值。函數想要向外傳遞運算結果需要返回值。在price=(b-3)*dj+qb+1;下面加上return price;
2018-02-10 回復 有任何疑惑可以回復我~
#4

世末理想鄉 回復 空條承太郎乀 提問者

如果你是新學c語言的話要理解清楚返回值的概念。
2018-02-10 回復 有任何疑惑可以回復我~
#5

冒泡的魚

回復 世末理想鄉謝謝,講的很清楚,看完我就理解了。 小哥你也是第一次學這個嗎?真厲害。我第一次看,看完就懵逼了,還不知道有什么用,慚愧慚愧。
2018-04-15 回復 有任何疑惑可以回復我~
#6

世末理想鄉 回復 冒泡的魚

額,我是計算機專業的學生。。。
2018-04-16 回復 有任何疑惑可以回復我~
#7

慕標2863012

請問這句話什么意思:靜態局部變量在編譯時賦初值,即只賦初值一次;和你說的“儲存為上次被賦予的值”有啥區別嗎
2018-06-05 回復 有任何疑惑可以回復我~
#8

世末理想鄉 回復 慕標2863012

沒啥區別,這句更嚴謹,我這個感覺更好理解所以這么說的。
2018-06-05 回復 有任何疑惑可以回復我~
查看5條回復

舉報

0/150
提交
取消
C語言入門
  • 參與學習       926906    人
  • 解答問題       21533    個

C語言入門視頻教程,帶你進入編程世界的必修課-C語言

進入課程

變量存儲類別

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

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

幫助反饋 APP下載

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

公眾號

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