C 的簡單問題,關於字串的,C 的一個簡單問題,關於字串的

時間 2022-07-10 12:40:02

1樓:在吳家山學車的雨樹

指標s指向一個常量,strcpy試圖修改這個常量 所以錯了

2樓:強勢獅子座

你的s是一個指向靜態資料區的指標,不可以修改的,肯定會出段錯誤。應該先去計算空間,然後再進行拷貝,這樣就不會侷限於s2的長度了,當然也可以使用棧空間進行儲存:

1 #include

2 #include

3 #include

4 5 void main()

6 {7     char *s1="fool";

8     char *s2="1234";

9     char *s;

10     s = (char *)malloc(sizeof(char)*strlen(s2)+1);

11     //char *s="foolish123abcdefghijklmn";

12     strcpy(s,s2);

13     //cout<

使用malloc切記釋放堆空間!

3樓:匿名使用者

char s="foolish123abcdefghijklmn";

C語言字串問題,C語言字元陣列與字串問題

字串初始化,如果逐個賦值的話,系統不是會自動新增 0 嗎不是。圖一就是長度為4的陣列,圖二長度為5圖三會是新增 0,但是是會把後面所有的都設為 0因為圖一和圖四不以 0結尾,所以不能用strlen和strcmp,會越界 圖四也可以用char str 4 stop 這樣賦值。如果不手動加長度就會是5了...

c語言字串問題

首先字串定義是 char c 用指標 而不是char c 這樣是單個字元定義了。其次字串賦值要加上雙引號 即c 0326 最後輸出用s d 是整型輸出了。0362是8進位制數 以0開頭 轉化為十進位制是242。char 佔一個位元組 型別的範圍是 128 127,242超過了char的表達範圍。所以...

C語言字串問題

1全部char xx 50 80 是一個二維字元陣列,長度50 80個連續char空間。char tem 80 是一個一維字元陣列,長度80個連續char空間。c語言不存在字串變數型別,所有字串全部用 0結尾字元陣列表示。比如說 char a china 圖示為a0,a1,a2,a3,a4 c,h ...