设有如下类型说明语句 typedef struct {int num; struct{int y,m,d;}date; }PER; 则以下定义结构体数组并赋初值的语句中错误的是( )。

admin2019-01-11  36

问题 设有如下类型说明语句
typedef struct
{int num;
struct{int y,m,d;}date;
}PER;
则以下定义结构体数组并赋初值的语句中错误的是(    )。

选项 A、PER st[2]={{1001},2008,8,1,{1002},2006,5,20};
B、PER st[2]={1001,{2008,8,1},1002,{2006,5,20}};
C、PER st[2]={{1001,2008,8,1},{1002,2006,5,20}};
D、PER st[2]={1001,2008,8,1,1002,2006,5,20};

答案A

解析 结构体PER类型定义了两个成员:num为整型,date为嵌套的结构体类型,初始化时,成员值的顺序必须与成员定义的顺序相同,num必须是整数,date必须是小括号括起来的嵌套的三个整数,选项A中,{1001}和{1002}都不是整数,所以选项A错误,本题答案为A。
转载请注明原文地址:https://kaotiyun.com/show/baxp777K
0

最新回复(0)