牛客 題庫 遞迴

2021-08-07 22:22:20 字數 944 閱讀 7293

1.下列**的輸出是?(注:print已經宣告過)

main() 

print(char *s)

}解答:輸出的是" suiene"(注意,字母前面有乙個空格)

這裡考察了兩個知識點:遞迴和print(++s),指標先移動,然後呼叫函式。

找到一篇講解遞迴的部落格:遞迴演算法

程式呼叫自身的程式設計技巧稱為遞迴( recursion)。遞迴做為一種演算法在程式語言中廣泛應用。遞迴有直接遞迴

和間接遞迴

•直接遞迴:函式在執行過程中呼叫本身。

•間接遞迴:函式在執行過程中呼叫其它函式再經過這些函式呼叫本身。

下面是網上的乙個解釋:

1、*s為g,執行print(e),printf(e)被壓入倒數第1層,應該輸出e;

2、*s為e,執行print(n),printf(n)被壓入倒數第2層,應該輸出n;

3、*s為n,執行print(e),printf (e) 被壓入倒數第3層,應該輸出e;

4、*s為e,執行print(i),printf (i) 被壓入倒數第4層,應該輸出i;

5、*s為i,執行print(u),printf (u) 被壓入倒數第5層,應該輸出u;

6、*s為u,執行print(s),printf (s) 被壓入倒數第6層,應該輸出s;

7、*s為s,執行print(\0),printf (\0) 被壓入倒數第7層,應該輸出空格;

8、開始跳出print,從上向下得到壓入棧中的printf,得到最後結果「 suiene」

**及結果如下:

void print(char *s)

}int main()

輸出結果: \0suiene

牛客 題庫 1

1.字串複製函式strcpy 字元陣列1,字元陣列2 字元陣列1的長度應大於等於字元陣列2的長度.說法是否正確?解答 說法正確 strcpy函式 顧名思義字串複製函式 原型宣告 char strcpy char dest,const char src 標頭檔案 include string.h 和 ...

牛客 題庫 define typedef 區別

1.test.c檔案中包括如下語句 define int ptr int typedef int int ptr int ptr a,b int ptr c,d 檔案中定義的四個變數,哪個變數不是指標型別?解答 b typedef 給已有型別宣告乙個別名,故c和d都是int ptr型別也即都是int...

牛客網 java題庫(21 30)

literator可用來遍歷set和list集合,但是listlterator只能用來遍歷list。iterator對集合只能是前向遍歷,listiterator既可以前向也可以後向。listiterator實現了iterator介面,幷包含其他的功能,比如 增加元素,替換元素,獲取前乙個和後乙個元...