C語言問題,求解答,C語言一些小問題,求解答

時間 2021-05-07 19:59:36

1樓:聽不清啊

最後的輸出是0

選答案d

因為:迴圈體結束:y=9

判斷時:y=8

迴圈體結束:y=9

判斷時:y=8

迴圈體結束:y=9

判斷時:y=8

迴圈體結束:y=9

判斷時:y=8

迴圈體結束:y=7

判斷時:y=6

迴圈體結束:y=5

判斷時:y=4

迴圈體結束:y=3

判斷時:y=2

迴圈體結束:y=1

判斷時:y=0

退出迴圈。

輸出:0 (然後y變成 -1)

2樓:金色潛鳥

關鍵:字首-- 與字尾 -- 的區別。

字首,要先減1再用;字尾,先用原值,用完再減1。

初始 y=10。

do 無論y 等於幾,都要執行一次 y=y-1=9。

while(--y); 迴圈語句開始,--y 是字首--,要先減1,再判斷 是否為0,為0則退出迴圈,否則將執行迴圈體。這裡 9先減1得 8,不為 0,開始迴圈。

y 變 7。 while(--y); y 變 6, 不為 0, 繼續迴圈。

y 變 5。 while(--y); y 變 4, 不為 0, 繼續迴圈。

y 變 3。 while(--y); y 變 2, 不為 0, 繼續迴圈。

y 變 1。 while(--y); y 變 0, 為 0, 結束迴圈。

輸出語句 輸出表示式 ( y--) 的 值。這裡是字尾--,表示式裡用 y 原值,列印 0。

列印後, y 自減 1,變 -1。

題目結果 是 列印出 0。答案 d。

c語言一些小問題,求解答

3樓:流浪者

結果是對的。

首先,funs()定在呼叫的時候形成了遞迴,所以算出來的結果就不會是5+5-1。

其次,你的程式的過程可以表達為5+(4+(3+2)),也就是說你在funs()裡遞迴呼叫了funs()。

在做c語言程式的時候,一定要理清思路,避免不應出現的遞迴,以免形成死迴圈,你這個呼叫如果引數錯誤,很容易出錯。

第三,按你的要求,結果是9的話,正確做法funs()定義return(n-1),main()裡呼叫print(n+funs(n))

4樓:匿名使用者

這是遞迴函式,不是隻執行一次,唉,怕你不明白,再解釋下吧,就是n=5,funs(n-1)=9,n+funs(n-1)=5+9=14,這回明白沒?

5樓:匿名使用者

在這個題中,fun()函式發生了遞迴

呼叫,即函式自己呼叫自己。在滿足發生遞迴的條件時,遞迴呼叫是以逐層巢狀的:形式進入,直到遞迴條件不再滿足,再由最內層開始依次逐層退出。

遞迴呼叫發生的次數由發生遞迴的條件所決定。本題中 n=5,進入fun(5)後,會繼續發生fun(4)、fun(3)呼叫,然後由內層依次返回,程式執行過程如下:

第1次呼叫 : n=5,執行5+fun(4)第2次呼叫 : n=4,執行4+fun(3)第3次呼叫 :

n=3,執行3+fun(2)笫1次返回 : 退出笫3次呼叫,返回值 3+2=5第2次返回 : 退出第2次呼叫,返回值 4+5=9第3次返回 :

退出第1次呼叫,返回值 5+9=14所以主程式輸出s=14。

6樓:梅髏鯊

這是遞迴,funs函式一直呼叫自身,就是funs函式中再不斷執行funs函式,所以n一直減到2結束呼叫,結果是5+4+3+2=14

7樓:匿名使用者

這是條件求和,滿足條件直行,負責就的到下面的大版。

8樓:我陌路我自己

學姐多好的機會大漢帝國,或者**號俗話說得好,還真是是好事。收到回話是個啥就是,好好在家收到回**,畫中畫說的很對。實踐活動回**,好實話實說不上班。

9樓:匿名使用者

這是迴圈語句問題,不是隻執行一次,重新看書吧!

10樓:我是老才不壞

你這問題可難壞了我,我怎麼能幫助你呢?瞧瞧,你提出的問題滿是英文,我連一天英語課都沒上過,我連abc都不知道是幹什麼的!拜託了兄弟,以後不要在這平臺上出現英語的問題,可難壞了我喲。

c語言問題求解答!!謝謝!! 5

11樓:小菜鳥2無聊寫**

//大概可以這麼bai寫

#include

#include

#include

int main()}

printf("%d\n",j);

if(p20!=0)printf("%d\n%d",in,p20);

else printf("第

du10個或zhi者第20個素數不存在dao");

return 0;

}else return 1;

}//編譯速度專和屬執行速度都還行

12樓:匿名使用者

#include

#define n 200

void main()

if ( b )

c語言問題求解答

13樓:時辰八點半

第一個days = day    獲取最後一個月的天數

第二個switch(month-1) 獲取除了最後一個月之外完整月的天數之和

14樓:嶽章戶湘君

逗號表示式從左往右依次計算,取最右邊的表示式的值為整個表示式的值

答案應該是5.000000啊

c語言問題求解答?

15樓:暗夜索光

直接上**

#include

using namespace std;

void main()

cout<<"s="<}

如果a不是整數的話自行修改int為double或者float。衝了

16樓:蹉淑敏瞿珍

main()

printf(("%d\n",i++);}}這個程式的結束條件是if(i>4)

第一個printf函式輸出的是4

第二個printf函式是5.

17樓:來夕橋嬋

執行結果是1,3,5

首先,i

=1,進入迴圈,由於i=1,i<4,,不執行if裡面的語句,執行 printf(("%d\n",i++);輸出1,再使i值加1,i=2,接著執行i++,此時i=3

第二次迴圈,i+1>0為真,進入迴圈體 由於i=3,i<4,,不執行if裡面的語句,執行 printf(("%d\n",i++);輸出3, 再使i值加1,i=4,執行i++,此時i=5

第三次迴圈, i+1>0為真,進入迴圈體,由於i=5,i>5,執行if裡面的 {printf("%d\n",i);輸出5,下一句break;跳出迴圈,程式結束

C語言問題求解答,c語言問題求解答

時辰八點半 第一個days day 獲取最後一個月的天數 第二個switch month 1 獲取除了最後一個月之外完整月的天數之和 嶽章戶湘君 逗號表示式從左往右依次計算,取最右邊的表示式的值為整個表示式的值 答案應該是5.000000啊 c語言問題求解答 5 1 include 2 int ma...

c語言問題求解答具體點,C語言問題求解答

cpp1.exe 1 error s 0 warning s cpp1程式一個錯誤0個警告 c語言問題求解答 時辰八點半 第一個days day 獲取最後一個月的天數 第二個switch month 1 獲取除了最後一個月之外完整月的天數之和 嶽章戶湘君 逗號表示式從左往右依次計算,取最右邊的表示式...

C語言問題,求解答,C語言問題,求大神解答

f函式中的a每次使用外面傳入的2,b是區域性變數,後每次都是1,c是靜態變數,函式每次執行會在上次值 1 所以最後執行三次,輸出為789 聽不清啊 程式的輸出是 789 c語言問題,求解答 執行abc a 1 首先進行巨集代換過程,是把 a 1去替代 定義的巨集函式 x x 中的x,即得到式子 a ...