使用C語(yǔ)言實(shí)現(xiàn)字符串逆序操作案例
編寫一個(gè)函數(shù) reverse_string(char * string)
實(shí)現(xiàn):將參數(shù)字符串中的字符反向排列。
要求:不能使用C函數(shù)庫(kù)中的字符串操作函數(shù)。
非遞歸實(shí)現(xiàn):
#include<stdio.h>
//編寫一個(gè)函數(shù) reverse_string(char * string)(非遞歸實(shí)現(xiàn))
//實(shí)現(xiàn):將參數(shù)字符串中的字符反向排列。
//要求:不能使用C函數(shù)庫(kù)中的字符串操作函數(shù)。
//求字符串長(zhǎng)度
int my_strlen(char* str)
{
int count = 0;
while(*str != '\0')
{
count++;
str++;
}
return count;
}
void reverse_string(char* str)
{
int left = 0;
int right = my_strlen(str) - 1;
while (left < right)
{
char temp = str[left];
str[left] = str[right];
str[right] = temp;
left++;
right--;
}
}
int main()
{
char arr[] = "hellobit";
reverse_string(arr);
printf("%s\n", arr);
return 0;
}
輸出結(jié)果:

遞歸實(shí)現(xiàn):
#include<stdio.h>
//編寫一個(gè)函數(shù) reverse_string(char * string)
//實(shí)現(xiàn):將參數(shù)字符串中的字符反向排列。
//要求:不能使用C函數(shù)庫(kù)中的字符串操作函數(shù)。
//求字符串長(zhǎng)度
int my_strlen(char* str)
{
int count = 0;
while(*str != '\0')
{
count++;
str++;
}
return count;
}
//遞歸實(shí)現(xiàn)
void reverse_string(char* str)
{
char temp = str[0];
int len = my_strlen(str);
str[0] = str[len - 1];
str[len - 1] = '\0';//末尾置1方便計(jì)算字符串長(zhǎng)度以及置換其他位
if (my_strlen(str)>1)
{
reverse_string(str + 1);
}
str[len - 1] = temp;//將末尾置換
}
int main()
{
char arr[] = "hellobit";
reverse_string(arr);
printf("%s\n", arr);
return 0;
}
輸出結(jié)果:

到此這篇關(guān)于使用C語(yǔ)言實(shí)現(xiàn)字符串逆序操作案例的文章就介紹到這了,更多相關(guān)C語(yǔ)言實(shí)現(xiàn)字符串逆序內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++動(dòng)態(tài)數(shù)組類的封裝實(shí)例
這篇文章主要介紹了C++動(dòng)態(tài)數(shù)組類的封裝,很重要的概念,需要的朋友可以參考下2014-08-08
???????C語(yǔ)言實(shí)現(xiàn)單鏈表基本操作方法
這篇文章主要介紹了???????C語(yǔ)言實(shí)現(xiàn)單鏈表基本操作方法,文章圍繞主題展開詳細(xì)介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-05-05
Windows配置VSCode+CMake+Ninja+Boost.Test的C++開發(fā)環(huán)境(教程詳解)
這篇文章主要介紹了Windows配置VSCode+CMake+Ninja+Boost.Test的C++開發(fā)環(huán)境,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05
opencv3/C++關(guān)于移動(dòng)對(duì)象的輪廓的跟蹤詳解
今天小編就為大家分享一篇opencv3/C++關(guān)于移動(dòng)對(duì)象的輪廓的跟蹤詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-12-12

