1樓:匿名使用者
樓上的說法有待商榷。本人覺得是記憶體分配問題。
先看char *p = "123";
char *q = "abc";
你在這裡將字串"123"的首位址賦給了p,因此p裡面只存了乙個位址而已,你未對它實行足夠的記憶體,因為此處需要4個char型別的空間,而p指標後面的記憶體是未知的。
下面給你2個實驗:
實驗1:
char *strcopy(char *dest, char *src)
dest = (char *)malloc(1); //分配最後乙個空間
*dest = '\0';
return addr;
}怎麼樣?可以執行了吧?
實驗2:
把char *p = "123";改成下面:
char *p = (char *)malloc(4); //分配四個空間
*p++ = '1';
*p++ = '2';
*p++ = '3';
*p = '\0';
p-=3; //回到頭部
這樣定義怎麼樣?可以吧
2樓:手機使用者
#include
void strcopy (char *wordapre, char *wordbpre);
int main(void)
void strcopy (char *wordapre, char *wordbpre)
一定要記得置結束標誌。。
C符串賦值問題,求高手解答,C 字串賦值問題,求高手解答
型別 變數名 帶雙引號的常量 string a 我是中國人 變數名可以任意起名。不過不能以 數字 漢字 和 符號開頭 除了下畫線 等號後面可以是帶雙引號的任意字段 string abc console.readline 為從控制台窗體輸入值複製給abc 呵呵,這問題搞笑啦!string str va...
C字串內容賦值給C 的string類物件
char chr hello,world.或char chr hello,world.然後,string str chr 就行了,或者string str chr也行。樓主顯然沒有理解指標的作用啊,首先我先指出,樓主你宣告的是10個字元型別指標的變數,即宣告了10個指向字元型別的指標而非乙個可以容納...
字元常量與字串常量區別,字元常量與字串常量的區別是什麼
字串常量 以雙引號引起來的資料,如 hello 12345 he123 a 字元常量 以單引號引來的乙個字元,如 a 0 0 n 在計算機中乙個字元佔乙個位元組,其數值為字元的ascii值,如 a 97 0 48 字串常量 以雙引號引起來,字元常量 以單引號引來 字串常量是以雙引號引起來的資料,比如...