以下程序拟读取一个姓氏,查找其对应的年龄并输出
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
struct person { char name[10]; int age;};
struct person group[6]={ "zhang", 18,
"wang",20,
"li",19,
"zhao",18,
"liu",19
},*p;
main()
{ int i,flag=0;
p=(struct person *)malloc(sizeof(struct person));
gets( &p->name );
for(i=0; i<6; i++)
if( (strcmp(p->name,group[i].name )==0))
{ printf("%d\n",group[i].age );
flag=1;
}
if(flag==0) printf("No find!\n");
}
程序有语法错,出错的是
A.gets( &p->name );
B.p=(struct person *)
C.if( (strcmp(p->name,group[i].name )==0))
D.printf("%d\n",group[i].age );