A-A+

设有如下定义 struct ss { char name[10]; int age; cha

2022-08-06 05:56:47 问答库 阅读 176 次

问题详情

设有如下定义 struct ss { char name[10]; int age; char sex; }std[3], * p=std; 下面各输入语句中错误的是
A.cin>>(* p).age);
B.cin>>std.name);
C.cin>>std[0].sex);
D.cin>>(p->.sex));请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:B
解析:std是一个数组,其内可以存放三个结构体类型的数据。当std单独使用的时候表示一个指针,指向该数组首地址。因此不能直接用std和点操作符进行配对使用。指针操作符->只能和指针配对使用,点操作符只能和有名对象或变量配对使用。

考点:定义