C语言几道题目!!!!!!!最好说明下选择原因 谢谢

一下面定义结构变量的语句中错误的是Astructstudent{intnum;charname[20];}s;Bstruct{intnum;charname[20];}s... 一 下面定义结构变量的语句中错误的是
A struct student{ int num; char name[20];} s;
B struct { int num; char name[20];} s;
C struct student { int num; char name[20];}; struct student s;
D struct student { int num; char name[20];}; student s;

二 如果 有定义语句:
struct {
int x,y;} s[2] = { {1,3},{2,7} };
则语句: printf("%d\n", s[0].y/s[1].x);的输出结果为
A 0 B 1 C 2 D 3

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

四 设有如下定义,则对data中的a成员的正确引用是
struct sk{ int a; float b;} data, *p=&data;
A (*p).data.a B (*p).a C p->data.a D p.data.a

五 对于一下结构定义,(*p)->str++中的++加在
struct { int len; char *str;} *p;
A 指针str 上 B 指针 p上 C str 所指向的内容上 D 语法错误

最好说明下选择原因 谢谢了
展开
 我来答
百度网友043360f
2014-12-10 · TA获得超过441个赞
知道小有建树答主
回答量:278
采纳率:60%
帮助的人:108万
展开全部
1 D
构造类型为struct student 不是struct
2 B
s[0].y= 3 s[1].x= 2
3 C
c[2] 表示存的是"Mary",18," 注意区分
4 B
声明了一 个是struct sk结构体变量data,一个是结构体指针*p
p=&data说明指针p指向了data变量,此时*p和data用时是同一个内存空间,所以(*p).a等同于
data.a,另一种写法p->a。
5 D
->为指向运算符
帐号已注销
推荐于2016-10-13 · TA获得超过103个赞
知道小有建树答主
回答量:174
采纳率:0%
帮助的人:155万
展开全部
  1. D struct student s要写完整

  2. B  3/2

  3. C  第二个结构体数组元素的第一个字符(元素)

  4. B  等于p->a

  5. A  ++的主体是str

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式