字符串赋值问题

char str[];str="string";
char str1[10];str1="string";
这两个赋值语句哪个是错误的,有什么区别吗?

都是错的!
在声明的时候可以初始化:char str[]="string";和char str1[10]="string";
是对的

char str[];str="string";
char str1[10];str1="string";
都是错的,=不能赋值字符串,先定以后赋值时,str1只能存放一个字符,字符串肯定是放不进去的,如果要赋值字符串就要用到string.h中的strcpy()函数
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-07-20
两句都是错的。
char str[]="string";
char str1[10]="string";
应该在变量声明时赋值。
在变量声明之后再赋值应使用strcpy或memcpy等函数。

char str[]="string"; 相当于 char str[7]="string";本回答被提问者采纳
第2个回答  2010-07-20
呵呵,貌似都不对呢
char str[]="string";
str的长度是7,会在最后加一个 \0 作为结束
初始化的时候可以这么用,一旦已经初始化了就不能这么直接赋值了
用strcpy函数吧~~
第3个回答  2010-07-20
第二个是错误的
字符串赋值需要 使用拷贝函数 strcpy(str1,str);
相似回答