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

C語(yǔ)言字符串替換空格實(shí)例詳解

 更新時(shí)間:2022年02月18日 10:04:10   作者:愛(ài)你哦小豬豬  
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言字符串替換空格實(shí)例,使用數(shù)據(jù)庫(kù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助

一、題目描述

請(qǐng)實(shí)現(xiàn)一個(gè)函數(shù),把字符串 s 中的每個(gè)空格替換成"%20"。

示例:

輸入:s = "We are happy."

輸出:"We%20are%20happy."

限制:0 <= s 的長(zhǎng)度 <= 10000

二、思路分析

思路

C語(yǔ)言的字符串無(wú)法改變大小,所以無(wú)法直接在原來(lái)的字符串上操作。于是我們先統(tǒng)計(jì)空格個(gè)數(shù),算出替換后的字符串的大小,并申請(qǐng)一塊新內(nèi)存。(注意要多申請(qǐng)一個(gè)byte,放字符串結(jié)尾符’\0’)。再次遍歷這個(gè)字符串,將空格替換成%20。

算法流程:首先得到字符串s的長(zhǎng)度

遍歷這個(gè)字符串,統(tǒng)計(jì)空格個(gè)數(shù)

計(jì)算新的字符串需要的空間,并申請(qǐng)一塊新內(nèi)存

遍歷字符串s,如果沒(méi)有空格則進(jìn)行正常賦值。如果碰到空格,則在新字符串對(duì)應(yīng)的三個(gè)位置放上%20

三、整體代碼

整體代碼如下

char* replaceSpace(char* s){
    int count = 0;
    int len = 0;
    while(s[len] != '\0'){
        len++;
    }
    
    int i = 0;
    for(i = 0; i < len; i++){
        if(s[i] == ' '){
            count++;
        }
    }
    
    char* str = (char*)malloc(sizeof(char)*(len + 1 + count * 2));

    int j = 0;
    for(i = 0; i < len; i++, j++){
        str[j] = s[i];
        if(s[i] == ' '){
            str[j++] = '%';
            str[j++] = '2';
            str[j] = '0';
        }
    }
    str[j] = '\0';
    
    return str;
}

運(yùn)行,測(cè)試通過(guò)

在這里插入圖片描述

總結(jié)

本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!       

相關(guān)文章

  • vector與map的erase()函數(shù)詳細(xì)解析

    vector與map的erase()函數(shù)詳細(xì)解析

    vector和map都不能將it++寫(xiě)在for循環(huán)中,而在循環(huán)體內(nèi)erase(it)
    2013-09-09
  • C語(yǔ)言memset函數(shù)使用方法詳解

    C語(yǔ)言memset函數(shù)使用方法詳解

    這篇文章主要介紹了C語(yǔ)言memset函數(shù)使用方法詳解的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家掌握這樣的方法,需要的朋友可以參考下
    2017-10-10
  • C++的array和&array有什么區(qū)別

    C++的array和&array有什么區(qū)別

    本文主要介紹了C++的array和&array有什么區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • C++中二進(jìn)制數(shù)據(jù)序列化和反序列化詳解

    C++中二進(jìn)制數(shù)據(jù)序列化和反序列化詳解

    這篇文章主要為大家詳細(xì)介紹了C++中二進(jìn)制數(shù)據(jù)序列化和反序列化的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解下
    2023-11-11
  • C++深淺拷貝和string類(lèi)的兩種寫(xiě)法詳解

    C++深淺拷貝和string類(lèi)的兩種寫(xiě)法詳解

    這篇文章主要為大家詳細(xì)介紹了C++深淺拷貝和string類(lèi)的兩種寫(xiě)法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-03-03
  • C++數(shù)據(jù)結(jié)構(gòu)紅黑樹(shù)全面分析

    C++數(shù)據(jù)結(jié)構(gòu)紅黑樹(shù)全面分析

    今天的這一篇博客,我要跟大家介紹二叉搜索樹(shù)中的另一顆樹(shù)——紅黑樹(shù),它主要是通過(guò)控制顏色來(lái)控制自身的平衡,但它的平衡沒(méi)有AVL樹(shù)的平衡那么嚴(yán)格
    2022-02-02
  • C++ move()函數(shù)案例詳解

    C++ move()函數(shù)案例詳解

    這篇文章主要介紹了C++ move()函數(shù)案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • C語(yǔ)言修煉之路初識(shí)指針陰陽(yáng)竅?地址還歸大道真上篇

    C語(yǔ)言修煉之路初識(shí)指針陰陽(yáng)竅?地址還歸大道真上篇

    指針是指向另一個(gè)變量的變量。意思是一個(gè)指針保存的是另一個(gè)變量的內(nèi)存地址。換句話說(shuō),指針保存的并不是普通意義上的數(shù)值,而是另一個(gè)變量的地址值。一個(gè)指針保存了另一個(gè)變量的地址值,就說(shuō)這個(gè)指針“指向”了那個(gè)變量
    2022-02-02
  • 詳解C語(yǔ)言之操作符

    詳解C語(yǔ)言之操作符

    這篇文章主要以圖文結(jié)合的方式為大家詳細(xì)介紹了C語(yǔ)言的操作符知識(shí),感興趣的小伙伴們可以參考一下,希望能給你帶來(lái)幫助
    2021-11-11
  • C語(yǔ)言中system()函數(shù)的用法總結(jié)

    C語(yǔ)言中system()函數(shù)的用法總結(jié)

    system()函數(shù)功能強(qiáng)大。以下小編就為大家介紹一下在C語(yǔ)言中system()函數(shù)的用法。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助
    2013-10-10

最新評(píng)論

保康县| 南华县| 信丰县| 白银市| 吴忠市| 新化县| 阿克苏市| 河曲县| 惠东县| 鹿泉市| 广安市| 孟连| 威远县| 正定县| 阳城县| 五大连池市| 阳朔县| 荣昌县| 江源县| 获嘉县| 泸溪县| 邻水| 成都市| 石渠县| 筠连县| 舞阳县| 临澧县| 汕头市| 沭阳县| 扶余县| 永平县| 南雄市| 安徽省| 万安县| 如东县| 偏关县| 丹巴县| 锡林浩特市| 团风县| 沽源县| 清远市|