C语言中,字符串与字符数组的问题。请问下面的代码中b=a为什么不行?谢谢。

#include <stdio.h>main(){ char *a="hello"; char b[50]; b=a;……}
2025-01-08 00:01:24
推荐回答(4个)
回答1:

字符串数组中的每个元素只能存放一个字符,你这样的赋值语句是把"hello"字符串赋给了b[0]

回答2:

不一样的,你可以运行下试试,打印一下a和b,你会发现打印a时输出hello,而打印b则输出的是数组的首地址

回答3:

字符串操作尽量使用C++ / C 语言api来操作 例如strcpy ,或者是内存拷贝。

回答4:

for(int i=0;i b[i]=a[i];

}