字符串赋初值

字符串赋初值
以下不能正确进行字符串赋初值的语句是
(A)char str[5]="good!" (B)char str[]-="good!"
(C) char *str="good!" (D)char str[5]={'g','o','o','d',o}

需要准备的材料分别有:电脑、C语言编译器。

1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。

2、在test.cpp文件中,输入C语言代码:char a[20];strcpy(a, "hello");printf("%s", a);。

3、编译器运行test.cpp文件,此时洞搭成功将纳圆拿字符串赋值给了字符串a并打腔消印。


A是错的。
直接用字符串赋值,其实系运弯轮统会自动在闹搜good后加一个'\0',这个时候,它的长度就不是5了,就会有越界的错误。

这个时候可以用D的方法,将需要赋值的字符串用一个一个字符来表示。
你的D最后那个o打错了旁信,是'!'吧。
scanf("%c",&s[i]);
/*这条辩运语句就是要你输入字符*/
for(i=0;i<7;i++)
printf("%c",s[i]);
/*这里是输出你输入的字符
二,三楼的说的都错了,你运行程序时直接可以给数组赋初值的
我想你没搞明白的是到底上面输入的是字符,还是字符串吧
%c格式输入输出的是单凳旁个字符
%s格式输入输出的是一个字符串
因为你上面的是字义的一个数组,所以输入输出的时候都是string,%c格式是将枣灶橡单个字符依次给数组,输出时也是单个输出的
(A)char str[5]="good!"
不能,char str[5]申请5个雀胡地址,good!占用6个长度,段衡因握岁做为\0
第4个错了o -> 'o',试了一下,编译出错
← 上一篇: 下一篇: →