int main() { char s1[50], s2[50] = "hello"; s1 = s2; printf("%s", s1); }
s1 = s2
那句報(bào)錯(cuò)了,問題到底出在哪?求解。
最后那個(gè)括號(hào)沒對(duì)齊,對(duì)齊就好了
一句話:C和C++數(shù)組是不可拷貝的 是二等公民可以使用std::array
c語言字符串不能直接用=
GCC會(huì)提示下面錯(cuò)誤: error: incompatible types when assigning to type char[50] from type char *
樓主,字符數(shù)組(不是new的)變量可以看成是一個(gè)指針常量,而不是常量指針(這兩者有點(diǎn)拗口)??梢愿臑?char *s1 = s2;
s1和s2是常量,不是變量,就像你不能給2賦值一樣(比如2=3),也不能s1=s2這樣給s1賦值??梢杂胒or循環(huán)或者strcpy,strncpy去做。