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 ...