字串的定義方式有兩種,直接先上**:
第一種:
char num[20] = "hello";
*num = '0'; //可行
num[1] = '0'; //可行
cout<
第二種:
char* num = "hello";
*num = '0'; //錯誤
num[1] = '0'; //錯誤
cout<
對於第一種方式:
char w = "hello";
"hello"儲存在棧空間陣列裡. 陣列名為w, 函式名為陣列的首位址.
可以通過w[i]='a', 或*(w+i)='a'的形式來修改陣列內容.
對於第二種方式:
char *m = "hello";
"hello"儲存在文字常量區,該資料不能修改,預設有唯讀屬性.
由指標m指向. 不能通過指標m來修改此值.
字串,字串陣列,字串指標!!
字串 字元陣列實際上是一系列字元的集合,也就是 字串 string 字串陣列 在c語言中,沒有專門的字串變數,沒有string型別,通常就用乙個字元陣列來存放乙個字串。c語言規定,可以將字串直接賦值給字元陣列 在c語言中,字串總是以 0 作為串的結束符。上面的兩個字串,編譯器已經在末尾自動新增了 0...
修改字串
將給定字串中連續出現3次的小寫字母替換為改小寫字母在字母表中的下乙個字母 z變為a 大寫字母和其他字元不處理,仍然保留。要求最終輸出的字串中不再存在任何連續出現3次的小寫字母。例如字串 atrcccert893 45ae 經過處理後應該為 atrdert893 45ae int changestri...
修改字串
1.字串變數 char s hello world int main 2.不知道為什麼不輸出,因此嘗試以下 int main s是乙個指標,初始化化為指向乙個字串常量 由於這個常量所在的地方,所以實際上s是const char s,但是由於歷史的原因,編譯器接受不帶const的寫法 但是試圖對s所指...