1. 程式人生 > >遞迴實現逆轉字串

遞迴實現逆轉字串

遞迴實現逆轉字串

思路分析:運用指標的方法傳參,設定頭尾指標,交換頭尾,將尾點暫存為‘\0’,再次呼叫逆轉函式,引數設定為指標指向下一個字元,以此類推,當頭指標內為‘\0’時,不再呼叫,返回引數,依次恢復尾點。

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
#include<string.h>
int mystrlen(char*str){//計算字串長度函式
	int count = 0;
	while (
*str++){ count++; }return count; } void reverse_string(char*str){ /*char* start; char* end; char* temp;*/ if (*str){ char* start = str; char* end = str + mystrlen(str) - 1; char temp = *start; *start = *end;//首尾交換 *end = '\0';//尾點暫存 reverse_string(start + 1);//逆轉字串 *end = temp;//恢復尾點 }
// } int main(){ char str[1024]; printf("請輸入一個字串\n"); scanf("%s", str); reverse_string(str); printf("%s\n", str); system("pause"); return 0; }

列印結果:在這裡插入圖片描述