編寫乙個函式 reverse_string(char * string)(遞迴實現)
//實現:將引數字串中的字元反向排列。
//要求:不能使用c函式庫中的字串操作函式。
#include
#include
#include
char* reverse_string(char*str)
return str;
}int main()
字串的反轉的遞迴方法需要拋棄掉,平常思路下的反轉方式。
首先我們整理下思路,要將字串反轉,需要將前面的字元調到後面去;
首先,我們將字串的第乙個字元變成最後乙個字元,並將第乙個字元存起來,將最後乙個字元變成『\0』;
比如:將abcd反轉
第一次遞迴:abcd------>dbc'\0',將a存在tmp中,進行遞迴函式f(str+1)變成dbc'\0';
第二次遞迴:dbc'\0'------->dc'\0''\0',將b存在了tmp中,因為遞迴時傳入的引數是str+1,所以首元素變成了b;
第三次遞迴:dc'\0''\0'------->d'\0'\0''\0',將c存在了tmp中。
因為接下來不滿足if條件,所以遞迴開始返回,首先返回d然後依次返回cba。
C語言遞迴實現字串翻轉
一,c語言遞迴實現字串逆轉 簡單的實現 abc 的逆轉 函式原型 void reverse char value,char result char value為待逆序字串 char result為存放的逆序結果 1,首先判斷是否value是否為空和value是否是字串結尾條件 條件不滿足則retur...
翻轉字串 翻轉單詞字串
將一句話裡面的單詞進行倒置,標點符號不倒換。比如一句話 i come from china.倒換後變成 china.from come i 解析 解決該問題可以分為兩步,第一步全盤置換為 anihc morf emoc i 第二部對每個單詞進行逐步翻轉,如果不是空格,則開始翻轉單詞。具體 如下 in...
翻轉字串裡的單詞 C語言
問題 給定乙個字串,逐個翻轉字串中的每個單詞。示例 輸入 the sky is blue 輸出 blue is sky the 說明 無空格字元構成乙個單詞。輸入字串可以在前面或者後面包含多餘的空格,但是反轉後的字元不能包括。如果兩個單詞間有多餘的空格,將反轉後單詞間的空格減少到只含乙個。inclu...