指標定義兩個字串,用strcpy交換問題

2021-06-01 06:43:31 字數 675 閱讀 9033

char *pmsg = "hello,world!"; 

char *pnsg = "hi,there.";

strcpy(pmsg,pnsg);

這樣無法編譯,

如果都換成是陣列的話就可以編譯.那個很好理解.

難道是指標指向的常量字串是不能隨意改變的???

有點暈??

char *pmsg = "hello,world!";  char *pnsg = "hi,there.";

中,pmsg 和 pnsg 指向的都是字串常量,當然不能改。

char* strcpy(char* strdest, const char* strsrc)

return strdest

}

void* memcpy(void* pdest, const void* psrc, unsigned int size)

return pdest;

}2.strcpy和memcpy的區別

(1).strcpy只能用於字串拷貝;而memcpy是記憶體拷貝,可以拷貝任何型別的資料。

(2).當二者都進行字串拷貝時,strcpy遇到字串結尾'/0'即完成;而memcpy只是記憶體的原樣拷貝,不管遇到什麼。

python用is比較兩個字串

首先python的is作用 比較兩個物件的位址值是否相等。也就是說如果id 物件1 id 物件2 那麼物件1 is 物件2返回true 舉個栗子 a spam b spam c this is a long string d this is a long string print a is b pr...

連線兩個字串

include include void main char lianjie char a 30 char b 30 原型 extern char strcat char dest,char src 用法 include 功能 把src所指字串新增到dest結尾處 覆蓋dest結尾處的 0 並新增 ...

交換兩個字串

交換兩個字串,原來的字串分別為 學生 和 好 字串輸出顯示為 學生好 交換後輸出顯示為 好學生 include using namespace std int main char c1 5 學生 char c2 3 好 char m,n,t m c1 n c2 cout 交換前 m n n t co...