帮做几道题c语言的 多选题 急用 在线等 谢谢。

3、下列描述中,合法的数组定义是:
A、char a[5]={’A’,’B’,’C’,’D’,’E’};
B、char a[]={’A’,’B’,’C’,’D’,’E’};
C、char a[]="ABCDE";
D、char a[]={65,66,67,68,69,70};

4、下列描述中,合法的数组定义是( )。
A、char a[]={"String"};
B、char a[5]={0,1,2,3,4,5};
C、char a[]="String";
D、char a[]={0,1,2,3,4,5};

首先我要说:你的单引号要注意,要在英文状态下输入,不能再中文状态下输入,不然不能识别或出错,编程要的是严谨的科学态度。
现在我说答案:
1.A.B.C.D(前提是你的要改成这样:char a[5]={'A','B','C','D','E'};
char a[]={'A','B','C','D','E'};

2.A.B.C.D(这两道题基本都是考的是数组定义和初始化,一样的题型)
还有什么问题,欢迎追问追问

、根据定义: struct person{char name[9];int age;}; struct person c[10]={"John",17,"Paul",19,"Mary",18,"Adam",16}; 能打印出字母M的语句是:
A、printf("%s",c[0].name);
B、printf("%s",c[1].name[0]);
C、printf("%s",c[2].name[1]);
D、printf("%s",c[3].name[2]);
也是多选题

追答

答案为C
这里考察的是结构体数组的应用,建议你去看看书的这一章

参考资料:AA

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-22
第一个选B,第二个选A追问

多选题

追答

第一题选C,第二题选A,C

本回答被网友采纳
第2个回答  2012-03-23
只要编译能通过,运行时程序不崩就是合法的!
所以3、ABCD;4、ACD
第四题里的B数组的长度是5,但是数组里存的数是6个,数组越界了,所以错了!
你的附加题是原题吗,c[1].name[0]这么写都不对呀,应该写成&c[1].name[0]这样!
第3个回答  2012-03-22
楼上完全错误
3、选C, A,B为什么错误呢, 因为字符数组必须以'\0',结尾否则, strcpy , strlen等字符串函数无法使用
4、C追问

多选题呀

追答

4、AC
3、保持原状
按你的说法 只要编译器能编译的都叫数组的话, 各个选型都是"合法"数组, 因为各个选项编译器最多给出一些警告, 而不是错误!!但在实际中你这么用会死的很惨!

第4个回答  2012-03-23
3,B C,D
4AD
追问的题选C
望采纳~~
相似回答