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 你的程式有問...