C語言中實現字串的壓縮,並進一步優化

2021-09-25 17:50:53 字數 679 閱讀 1320

字串壓縮

比如:「***yyyyz"壓縮後字串為"3x4yz」

「yyyyyyy"壓縮後為"7y」

#include #include #include void cutstring(char* str)

*p1 = count;

p1++;

*p1 = *p2;

p1++;

p2++;

*p1 = *p2;

} else

} p1++;

*p1 = '\0';

}int main()

這樣做的話,由於我們用的是char count所以只能表示字元』1』-『9』,否則就會變成ascii碼所對應的符號

所以對**進行修改

#include #include #include //將**進一步優化

//暫時只考慮1-99

void cutstringp(char* str)

if (count <= 9)

else

} else

} p1++;

*p1 = '\0';

}int main()

相應的多達3位數的重複這樣也可以實現,但是這樣的方法顯得**有些冗長。

更好的方法希望大牛們多多指點。

C語言中的字串

從概念上講,c語言中沒有字串型別 在c語言中使用字元陣列來模擬字串 c語言中的字串是以 0 結束的字元陣列 c語言中的字串可以分配於棧空間,堆空間或者唯讀儲存區 char s1 沒有 0 所以s1只不過是個單純的字元陣列 char s2 也是乙個字元陣列,但是最後乙個元素是 0 因此s2就成了c語言...

c語言中的字串

一 c語言中的字串 c語言中沒有字串型別 字串實際就是多個字元連在一起,所有可以用字元陣列來存放字串。但是使用字元陣列輸出時需要使用for迴圈 例如 這樣使用十分不方便,有沒有一種簡約的方式,讓我們一下子就能輸出呢?有但是需要改兩個地方!1.長度要 1 2.末尾要加乙個 0 然後用 s 格式化控制符...

C語言中的字串

1.標準函式gets與puts分別用於字串的整體輸入和輸出,且gets接收字串時,字串中可包含空格。使用格式為 gets 字元陣列 或者puts 字元陣列 由標頭檔案stdio.h支援 2.常用字串處理函式 由標頭檔案string.h strlen 測試字串長度的函式,函式返回值為字串的實際長度 s...