C語言求程式執行結果求大蝦們幫幫忙!最好詳細解釋下,謝謝了

2021-03-24 11:50:46 字數 1680 閱讀 8092

1樓:德克and德華

a是全域性變數,生存期一直持續

到程式結束

b是區域性靜態變數,生存期一直持續到程式結束,但是作用域只在f函式中第一次迴圈:

a為2,b=2+5等於7,c--後,c為4,返回2+7+4即13,所以輸出13

第二次:

a為2,b=2+4等於6,c--後,c為3,返回2+6+3即11,所以輸出11

第三次:

a為2,b=2+3等於5,c--後,c為2,返回2+5+2即9最後一次:

a為2,b=2+2等於4,c--後,c為1,返回2+4+1即7

2樓:匿名使用者

#include

int c=5; //全域性變數,儲存在全域性資料區,程式執行期間一直存在

f(int a)

main()

第一次迴圈:a = 2,b =0,c = 5;執行b = a+c後b = 7;c--後c = 4;輸出:2+7+4 =13

第二次迴圈:a = 2,b=7,c=4;執行b = a+c後b = 6;c--後c = 3;輸出:2+6+3=11

第三次迴圈:a = 2,b=6,c=3;執行b = a+c後b = 5;c--後c = 2;輸出:2+5+2=9

第四次迴圈:a = 2,b=5,c=2;執行b = a+c後b = 4;c--後c = 1;輸出:2+4+1=8

3樓:鬼扯石室

1、宣告並初始化整型全域性變數c = 5,程式中有兩個函式:main()、f(int a)

2、首先從main開始,宣告兩個int變數a,i,並且初始化a=2;

3、for迴圈用i作為迴圈變數,從i=0迴圈到i<4(即i=3時),每次迴圈i自增1。推出迴圈4次

4、每次迴圈用printf列印一個整型資料和一個『,』(%d,實現),資料內容是f(a)的返回值

5、每次迴圈跳入f(int a)函式,將main()中實際引數a的值傳遞給f()的形式引數a。

6、f(int a)的實現過程:

1)宣告整型靜態區域性變數b (相當於全域性變數)

2)將a+c的計算結果賦值給b

3)c自減1

4)返回(a+b+c)的計算結果

7、迴圈結束,列印還行符\n

四次迴圈時的變數情況:

a b c f(a)

一 2 7 4 13

二 2 6 3 11

三 2 5 2 9

四 2 4 1 7

所以執行結果應該是: 13,11,9,7,

4樓:

13,11,9,7,

5樓:何鈺楊詩

a全域性變數

存期直持續

程式結束

b區域性靜態變數

存期直持續

程式結束

作用域f函式

第迴圈:a2

b=2+5等於7

c--c4返

2+7+4即13所輸

13第二:a

2b=2+4等於6

c--c3返

2+6+3即11所輸

11第三:a

2b=2+3等於5

c--c2返

2+5+2即9:a

2b=2+2等於4

c--c1返

2+4+1即7

c語言程式執行,結果都是0 0000000,誰能告訴我這個程

格式控制符不對 bai,有du 的編譯系統double型資料zhi只能用 dao lf,你改一下就行版了 include include main printf 9lf n s 型別不匹配 n定義的是duoble型 但輸入是float 導致n沒有被賦值 n為隨機值 是個負值 所以迴圈也沒執行 最後s...

下面程式的執行結果是,C語言 下面程式的執行結果是()

答案選d。strcat a,b 結果 a 為 ablmnp,b 為 lmnp。while a i 0 b i a i 一開始 i 等於 0,但在 while 的迴圈條件中將 i 自增,所以第一次進入迴圈體時 i 等於 1,於是就有了最終結果 lblmnp。c語言 下面程式的執行結果是 因為i 3 進...

求這個c語言問題的執行結果 並且截圖

首先,你的程式有問題 第一點 scanf d,d,d a 不能這樣獲取輸入。應該改為 第二點 for i 0 i 3 i 當你的i 3時,a 3 出現了陣列越界。應該改為 for i 0 i 3 i 這樣的話執行結果應該是你輸入的三個數的和。比如你輸入 1,2,3 則會輸出 sum 6 你的程式有問...