下面四个选项哪个是错误的呀?为什么错?

题干:有以下结构体说明、变量定义和赋值语句:

struct STD

{

char name[10];

int age;

char sex;

} s[5],*ps;

ps=&s[0];

则以下scanf函数调用语句有错误的是()。

A

scanf("%s",s[0].name);
B

scanf("%d",&s[0].age);
C

scanf("%c",&(ps->sex));
D

scanf("%d",ps->age);

应该选D,ps->age前面需要加地址符,改成这样才是对的:scanf("%d",&ps->age);