下列程序片段中不正确的字符串赋值或初始化方式是

A. char *str=”string”;
B. char str[7]={„s‟, „t‟, „r‟, „i‟, „n‟, „g‟, „\0‟};
C. char str[10]; str=”string”;
D. char str[ ]=”string”;

在编译器里试了一下:

只有 

C. char str[10]; str=”string”;

这个是会报错的。

#include <string.h>
#include <stdio.h>
int main()
{
char *strA="string"; //A
char strB[7]={'s','t','r','i','n','g','\0'}; //B 
char strC[]="string"; //D
char strD[10]; //C

//strD="string"; //这个编译不了。 
strcpy(strD,"string");//改成这样就可以了。 
return 0;
}

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答