C語言遞迴的問題高分求高人指點

2021-05-04 18:23:44 字數 706 閱讀 4169

1樓:匿名使用者

問題一:這時的程式是直接返回⑤,不滿足條件時再執行④。

問題二:這裡應該轉換為字元的輸出格式,因為n%10得出的結果是一個整型,不是字元型。這遞迴函式目的是為了得到一個數的最高位,比如:

1234這個數,除以10後得到123,條件滿足,則遞迴回去再除以10得到12,條件還滿足,則再遞迴再除以10,這時條件就滿足了,執行語句的輸出putchar(n%10+'0');

得到1,就是得到的結果。語句也就執行完了。

問題三:上面說了,putchar();是一個字元的輸出格式,使得到字元的輸出。

n是傳遞的引數,n%10是對一個數取餘,不是字元的輸出格式,你理解錯了,可能對函式的運用不熟悉。

2樓:豚豚_小貓

樓上的回答很詳細

補充沒解答的

'0'的意思就是0

n%10+'0'這個式子的意思其實就是計算出n除以10剩下的餘數再加上0

那個①②③的作用就是為了描述這個程式的,是屬於註釋範圍的沒有當然可以....

3樓:mc大河

1這時程式是返回⑤ 一個函式執行的時候該條指令執行完了才會執行下一個。

2可以將putchar放到③的前面,根據值的不同來判斷執行順序

3+『0』的意思是將int型的轉換成char型,比如int n=1;則轉換成char型『1』的話需要1+『0』

c語言問題迴文數!!急,拜託高人指點

新增上滿足你補充要求的c程式 include int palindrome unsigned int x if s x return 1 else return 0 void main 執行結果如下 符合條件的n為 12 3112226 101111 121press any key to cont...

c語言程式設計我想精通c語言求大師指點

如果你是想學c語言,我推薦還是在linux下進行吧。至於你說的用windows人多,不學windows不行。其實linux的用途更加廣泛,有一句叫 即使你看不到,linux確已統一天下 windows你看到的只是桌面系統用的人很多。linux現在廣泛用在嵌入式系統和伺服器,用途廣泛,而且在linux...

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

include int main char str 2000 gets str gets str int i 0 while i 2000 bool bb false for int i 0 i n i if bb printf mmm n return 0 先給你改好的 吧,沒做大手術,按你的思路...