以下不能正确进行字符串赋初值的语句是 ___

A.char str[5]={“good!”}; B.char str[]=”good!”;
C.char *str=”good!”; D.char str[5]={‘g’, ‘o’, ‘o’, ‘d’);
选什么,为什么

1
A.char str[5]={"good!"};//这个不符合C语言的语法规定,字符串初始化是这样写的:
char str[6]="good!"; //因最后还有一个结束符,因此数组元素应该是6个。

2 题目表述有些不准确,A,B,D叫初始化,C叫赋值。

3 题目中的单双引号全部是中文的,这也不符合C语言语法。应该改为英文的。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-06-04
A是错误的。 str只给了5个字符的空间,但"good!"需要6个字符(有一个是结束符)。其他都没问题。 B、C会自动计算字符串所需的空间,D是以字符数组来看待str,而非字符串方式,不会出错(你后面的括号写错了)。
第2个回答  2011-06-04
选A的。正常的赋值方法,就是B,和D那种,C使用了指针,对指针进行了赋值。A不要那个花括号,这种赋值方法还没看到过。

以下不能正确进行字符串赋初值的语句是 __
1 A.char str[5]={"good!"};\/\/这个不符合C语言的语法规定,字符串初始化是这样写的:char str[6]="good!"; \/\/因最后还有一个结束符,因此数组元素应该是6个。2 题目表述有些不准确,A,B,D叫初始化,C叫赋值。3 题目中的单双引号全部是中文的,这也不符合C语言语法。应该改为英文的...

坐等C++高手,都是一些简单的题,高人帮帮我吧,急用。现在没分了,各位帮...
fun(int x){ if(x\/2>0) fun(x\/2);printf("%d ",x);} main(){ fun(6); } 12.以下不能正确进行字符串赋初值的语句是( A)A) char str[5]="good!";B) char str[]="good!";C) char *str="good!";D) char str[5]={'g','o','o','d'};13.若有以下定义和语句:...

C 语言 以下不能正确进行字符串初始化的语句是? 给详细解释一下。谢谢...
答案肯定是A啊 对于没有定义了字符数组长度的,并且单个单个赋初值的,需要在最后手动加上'\\0'字符,而A没有 A因为没有字符串结束标志\\0而不知道数组的具体大小。C:是可以的,因为在声明同时赋初值时定义了数组长度时,由于只对前五个进行了赋值,那么就默认字符串到此为止,后面三个位空,闲置;B...

以下不正确的字符串赋初值的方式是? A char *str ="string"; B char...
a,c,d是对的。a是把string的首地址赋给了str b中str 是一个字符指针,接受到“string ”适当做地址接受的,所以不对 c和d都是字符串数组。

以下不正确的字符串赋初值的方式是? A char *str ="string"; B char...
B不对 字符串常量是存放在只读数据段的所以不可更改 str="string";"string"事实上只是这个字符串常量的首地址,你这句的意思就时把str指向这个字符串常量的首地址 所以你是将一个地址赋值给一个指针,这是绝对合法的!但是因为str指向的地址变成了存放于只读数据段中的常量 所以 str是不可赋值的!

不正确的字符串赋值或赋初值方式是( )。
C 数组不能这样赋值!

求一份C语言程序设计的期末考试试题!!!谢谢了
3. 下面哪一项是不正确的字符串赋值或赋初值的方法( )A. char *str; str= “china”;B. char str[7]= {‘c’, ‘h’, ‘i’, ‘n’, ‘a’};C. char str1[]= “china”,str2[]=“123”;D. char str1[10]; str1= “china”;4. 以下对二维数组a进行正确初始化的是...

急求计算机二级考试的试题(C语言)
D)data可以作为函数的实参 39)以下语句或语句组中,能正确进行字符串赋值的是 C A)char *sp;*sp="right!"; B)char s[10];s="right!"; C)char s[10];*s="right!"; D)char *sp="right!"; 40)设有如下说明 C typedef struct ST {long a;int b;char c[2];}NEW; 则下面叙述中正确的是 ...

求一些c编程题
28、若int类型占两个字节,则以下语句输出为___。 int k=-1; printf("%d,u%\\n",k,k); A、-1,-1 B、-1,65536 C、-1,32768 D、-1,65535、D、1 29、若变量a是int类型,并执行了语句:a=‘A'+1、6;,则正确的叙述是 A) a的值是字符C B) a的值是浮点型 C) 不允许字符型和浮点型相加...

二维字符串付初值:char x[5][]={"Word","Excel","PowerPoint","Type...
char x[][20]={"Word","Excel","PowerPoint","Type","Angle"};\/\/这样才正确。二维数组的第二维必须有确定的值,第一维可以根据初值的个数来确定。

相似回答