0
我用完了想法。我只用來處理遞歸函數整數, 所以程序的輸出應該是:遞歸函數返回字符串
Please enter a number : 4
a
ab
abc
abcd
abc
ab
a
到目前爲止,這是我想出的唯一的事:
#include <stdio.h>
char arr [] ;
char*arr function(int count){
char ch='a';
if(count==1||count==count)
return ch;
return (ch +function(count--));
}//end method
main(){
function(4);
}//end main
'if(count == 1 || count == count)'does not make any sense since'count == count' would always true。你的函數也說你返回一個'char *'但是'return ch;'表示你返回一個'char'。同樣''return(ch + function(count - ));'你試圖添加兩個'char'值,在C中會給你每個字符的整數編碼值(我相信ASCII)想要 – JackVanier
遞歸真的是實現這種輸出的最佳方式嗎? –
考慮一下C字符串只是一個指向'char'數組的指針。 *字符串*的結尾由零字節指定,但不一定在數組的實際末尾。考慮分配一個足夠大的工作數組,並讓遞歸函數就地修改和打印內容。 –