最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用C語言遞歸與非遞歸實現(xiàn)字符串反轉(zhuǎn)函數(shù)char *reverse(char *str)的方法

 更新時間:2013年05月28日 16:29:48   作者:  
本篇文章是對使用C語言遞歸與非遞歸實現(xiàn)字符串反轉(zhuǎn)函數(shù)char *reverse(char *str)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下

代碼如下所示:

復(fù)制代碼 代碼如下:

// 遞歸實現(xiàn)字符串反轉(zhuǎn)  
char *reverse(char *str)  
{  
 if( !str )  
 {  
  return NULL;
 }  

    int len = strlen(str);  
    if( len > 1 )  
    {  
        char ctemp =str[0];  
        str[0] = str[len-1];     
        str[len-1] = '/0';// 最后一個字符在下次遞歸時不再處理  
        reverse(str+1); // 遞歸調(diào)用  
        str[len-1] = ctemp;  
    }  

    return str;  
}

// 非遞歸實現(xiàn)字符串反轉(zhuǎn)
char *reverse(char *str)  
{  
 if( !str )  
 {  
  return NULL;
 }  

    int len = strlen(str);  
    char temp;  
    for( int i = 0; i < len / 2; i++ )  
    {  
        // 交換前后兩個相應(yīng)位置的字符  
        temp = *(str + i);  
        *(str + i) = *(str + len - 1 - i);  
        *(str + len - 1 - i) = temp;  
    }  

    return str;  
}
int _tmain(int argc, _TCHAR* argv[])
{
 char src[] = {"abcdef"};
 char *pdest = reverse(src);
 getchar();
 return 0;
}

相關(guān)文章

  • C/C++詳解實現(xiàn)二層轉(zhuǎn)發(fā)

    C/C++詳解實現(xiàn)二層轉(zhuǎn)發(fā)

    數(shù)據(jù)鏈路層是開放系統(tǒng)互連 (OSI) 模型中的第二層,該層用于通過 LAN 等單一網(wǎng)絡(luò)進(jìn)行通信的節(jié)點,第二層數(shù)據(jù)包不能從一個網(wǎng)絡(luò)傳輸?shù)搅硪粋€網(wǎng)絡(luò)。而二層轉(zhuǎn)發(fā)是根據(jù)報文的目的MAC直接進(jìn)行轉(zhuǎn)發(fā),轉(zhuǎn)發(fā)過程中不用對報文的頭部做任何的修改
    2022-05-05
  • C語言文件操作中 fgets與fputs 函數(shù)詳解

    C語言文件操作中 fgets與fputs 函數(shù)詳解

    這篇文章主要介紹了C語言文件操作中 fgets與fputs 函數(shù)詳解的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • Qt中QMapIterator檢測是否為空的實現(xiàn)

    Qt中QMapIterator檢測是否為空的實現(xiàn)

    本文主要介紹了Qt中QMapIterator檢測是否為空的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-10-10
  • 詳談C語言指針

    詳談C語言指針

    這篇文章主要介紹了C語言的指針,介紹了其相關(guān)概念,然后分享了幾種用法,具有一定參考價值。需要的朋友可以了解下
    2021-10-10
  • 對for循環(huán)中表達(dá)式和循環(huán)體的執(zhí)行順序詳解

    對for循環(huán)中表達(dá)式和循環(huán)體的執(zhí)行順序詳解

    今天小編就為大家分享一篇對for循環(huán)中表達(dá)式和循環(huán)體的執(zhí)行順序詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • C/C++隨機數(shù)生成的五種方法

    C/C++隨機數(shù)生成的五種方法

    C++作為一種古老的編程語言,其隨機數(shù)生成的方法已經(jīng)經(jīng)歷了多次的變革,早期的C++版本使用的是rand()函數(shù)和RAND_MAX常量,這種方法雖然簡單,但并不總是提供高質(zhì)量的隨機數(shù),本文給大家介紹了C/C++隨機數(shù)生成的五種方法,需要的朋友可以參考下
    2025-03-03
  • 超詳細(xì)VScode調(diào)試教程tasks.json和launch.json的設(shè)置

    超詳細(xì)VScode調(diào)試教程tasks.json和launch.json的設(shè)置

    vscode是一個輕量級的文本編輯器,但是它的擴展插件可以讓他拓展成功能齊全的IDE,這其中就靠的是tasks.json和launch.json的配置,下面這篇文章主要給大家介紹了關(guān)于超詳細(xì)VScode調(diào)試教程tasks.json和launch.json設(shè)置的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • STL 的string類怎么啦

    STL 的string類怎么啦

    在我們研究string類犯了什么毛病之前,還讓我先說一下如何了解一個C++的類。我們要了解一個C++的類,一般來說,要從三個方面入手
    2013-11-11
  • c/c++靜態(tài)庫之間相互調(diào)用的實戰(zhàn)案例

    c/c++靜態(tài)庫之間相互調(diào)用的實戰(zhàn)案例

    C++調(diào)用C的函數(shù)比較簡單,直接使用extern "C" {}告訴編譯器用C的規(guī)則去編譯C代碼就可以了,下面這篇文章主要給大家介紹了關(guān)于c/c++靜態(tài)庫之間相互調(diào)用的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • C++中運算符重載詳解及其作用介紹

    C++中運算符重載詳解及其作用介紹

    這篇文章主要介紹了C++中運算符重載詳解及其作用介紹,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09

最新評論

板桥市| 南安市| 延庆县| 鄂托克前旗| 上思县| 德化县| 永顺县| 宜阳县| 黑河市| 晋中市| 灵台县| 德阳市| 虞城县| 磴口县| 大荔县| 碌曲县| 昌黎县| 伊宁市| 称多县| 区。| 波密县| 长沙县| 古丈县| 闸北区| 习水县| 句容市| 迁西县| 博客| 永靖县| 简阳市| 泽普县| 文山县| 韶关市| 绥滨县| 顺义区| 东光县| 土默特左旗| 肥东县| 礼泉县| 五河县| 建宁县|