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

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

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

代碼如下所示:

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

// 遞歸實(shí)現(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';// 最后一個(gè)字符在下次遞歸時(shí)不再處理  
        reverse(str+1); // 遞歸調(diào)用  
        str[len-1] = ctemp;  
    }  

    return str;  
}

// 非遞歸實(shí)現(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++ )  
    {  
        // 交換前后兩個(gè)相應(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++詳解實(shí)現(xiàn)二層轉(zhuǎn)發(fā)

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

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

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

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

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

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

    詳談C語言指針

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

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

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

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

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

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

    vscode是一個(gè)輕量級(jí)的文本編輯器,但是它的擴(kuò)展插件可以讓他拓展成功能齊全的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類犯了什么毛病之前,還讓我先說一下如何了解一個(gè)C++的類。我們要了解一個(gè)C++的類,一般來說,要從三個(gè)方面入手
    2013-11-11
  • c/c++靜態(tài)庫之間相互調(diào)用的實(shí)戰(zhàn)案例

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

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

    C++中運(yùn)算符重載詳解及其作用介紹

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

最新評(píng)論

邵武市| 深州市| 竹山县| 射洪县| 湾仔区| 绿春县| 呼图壁县| 元氏县| 诸暨市| 佳木斯市| 交城县| 达拉特旗| 临颍县| 灵丘县| 阜康市| 石阡县| 肇东市| 巴青县| 天津市| 太湖县| 淮安市| 驻马店市| 永胜县| 凤城市| 南昌市| 潮安县| 汉寿县| 永兴县| 句容市| 太和县| 岱山县| 方正县| 玛纳斯县| 溧阳市| 札达县| 亳州市| 麻江县| 潞城市| 潼南县| 宁城县| 青冈县|