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

C語言字符串替換空格實例詳解

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

一、題目描述

請實現一個函數,把字符串 s 中的每個空格替換成"%20"。

示例:

輸入:s = "We are happy."

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

限制:0 <= s 的長度 <= 10000

二、思路分析

思路

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

算法流程:首先得到字符串s的長度

遍歷這個字符串,統(tǒng)計空格個數

計算新的字符串需要的空間,并申請一塊新內存

遍歷字符串s,如果沒有空格則進行正常賦值。如果碰到空格,則在新字符串對應的三個位置放上%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;
}

運行,測試通過

在這里插入圖片描述

總結

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注腳本之家的更多內容!       

相關文章

  • vector與map的erase()函數詳細解析

    vector與map的erase()函數詳細解析

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

    C語言memset函數使用方法詳解

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

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

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

    C++中二進制數據序列化和反序列化詳解

    這篇文章主要為大家詳細介紹了C++中二進制數據序列化和反序列化的相關知識,文中的示例代碼講解詳細,具有一定的學習價值,感興趣的小伙伴可以了解下
    2023-11-11
  • C++深淺拷貝和string類的兩種寫法詳解

    C++深淺拷貝和string類的兩種寫法詳解

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

    C++數據結構紅黑樹全面分析

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

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

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

    C語言修煉之路初識指針陰陽竅?地址還歸大道真上篇

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

    詳解C語言之操作符

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

    C語言中system()函數的用法總結

    system()函數功能強大。以下小編就為大家介紹一下在C語言中system()函數的用法。需要的朋友可以過來參考下,希望對大家有所幫助
    2013-10-10

最新評論

浦江县| 韶山市| 罗源县| 黑河市| 荃湾区| 邢台县| 巴里| 锡林郭勒盟| 乌拉特后旗| 东光县| 马边| 府谷县| 绥中县| 平江县| 高阳县| 察隅县| 昭平县| 通渭县| 申扎县| 麻栗坡县| 巴彦淖尔市| 游戏| 克什克腾旗| 凤山市| 类乌齐县| 石楼县| 阿瓦提县| 嵊泗县| 桃园县| 石渠县| 桐城市| 临潭县| 定陶县| 忻城县| 新丰县| 莱阳市| 房产| 怀安县| 儋州市| 忻城县| 海晏县|