1樓:匿名使用者
auto宣告後,每次呼叫這個函式都會將這個b重定義為0;
而進行stable宣告後,c將不會被改變,所以值是不同的;
第一次迴圈:
a=5(這個是固定的);
b=0+1=1(自增運算子);
c=1+3=4;
返回一個值並輸出a+b+c=10;
第二次迴圈:
a=5;
b=0+1=2(在這裡重置);
c=4+3=7(而它並沒有);
a+b+c=13;
第三次迴圈也是一樣的,b重置,c加3,而a為定值5,所以三次輸出相差3,就是c的三次加3,和b無關。
純手打,求採納,有問題,繼續問
2樓:金色潛鳥
因為 static int c=1 ; c 的值 相當全域性量,函式退出後,它的當前值繼續有效並保留著。
所以:(迴圈1):
b=0; b=b+1=1;
c=1; c=c+3=4
a+b+c=5+1+4
(迴圈2):
c=4;c=c+3=7;
a+b+c=5+1+7=13;
(迴圈3):
c=7;c=c+3=10
a+b+c=5+1+10=16
==輸出:
10 13 16
auto在c語言中的意義
3樓:『戀愛領域
c語言中提供了儲存說明符auto,register,extern,static說明的四種儲存類別。四種儲存類別說明符有兩種儲存期:自動儲存期和靜態儲存期。
其中auto和register對應自動儲存期。具有自動儲存期的變數在進入宣告該變數的程式塊是被建立,它在該程式塊活動時存在,退出該程式塊時撤銷。
在函式內部定義的變數成為區域性變數。在某些c語言教材中,區域性變數稱為自動變數,這就與使用可選關鍵字a u t o定義區域性變數這一作法保持一致。區域性變數僅由其被定義的模組內部的語句所訪問。
換言之,區域性變數在自己的**模組之外是不可知的。切記:模組以左花
括號開始,以右花括號結束。
對於區域性變數,要了解的最重要的東西是:它們僅存在於被定義的當前執行**塊中,即區域性變數在進入模組時生成,在退出模組時消亡。
定義區域性變數的最常見的**塊是函式。
整數變數x被定義了兩次,一次在func1()中,一次在func2()中。func1()和func2()中的x互不相關。其原因是每個x作為區域性變數僅在被定義的塊內可知。
語言中包括了關鍵字auto,它可用於定義區域性變數。但自從所有的非全域性變數的預設值假定為auto以來,auto就幾乎很少使用了
4樓:匿名使用者
你不妨把他認為是沒含義!
5樓:匿名使用者
auto 表示自動儲存型別
其實現在都不用打auto, 編譯器預設為auto的
不信可以把auto刪除試試
6樓:匿名使用者
auto 表示自動儲存型別
c語言 簡單的練習題,C語言 簡單的練習題
重新移動了字串結束的位置而已,舉例說明 源字串src為 flyhorse loves 小梅 1,執行到 p end 0 的時候,src就是 flyhorse 了 2,執行了最後的 p 0 src就是 flyhorse 了,否則src就是 flyhorse p指標的重定位操作就在p p一旦移位,字串結...
c語言習題請高手幫忙解答,C語言習題請高手幫忙解答。
1 沒答案,應該是a2,b 5 2 a3 沒答案,因為 u輸出a的值不確定4 a5 c 6 b7 沒答案,應該是scanf f c 8 c9 b 1 沒答案如為printf a d,b d n a,b 選 d a d,b d 2 b3 c 4 c5 c 6 d7 a 我想答案應該是scanf f c...
c語言習題問題
第一題是正確的,語言是逐條語句執行的,語句之間用分號分開 請注意 if a 和 if a 之間的區別 前者包含了三條語句,而後者只有乙個語句.建議你在寫c程式的時候注意換行,乙個分號一行 在visual c 6.0上,其他的環境我沒用過,在這就不誤人子弟了 第二題的第乙個,首先,對於 y 是先自減,...