填空题
以下程序的运行结果是{{U}} 【17】 {{/U}}。
#include <stdio.h>
#include <string.h>
typcdef struct student
{ char name[10];
long sno;
float score;
}STU;
main()
{ STU a={"Zhangsan",2001,95},b={"Shangxian",2002,90},
c={"Anhua",2003,95},d,*p=&d;
d=a;
if(strcmp(a.name,b.name)>0) d=b;
if(strcmp(c. name, d. name)>0)d=c;
printf("%1d%s/n",d.sno,p->name);
}
【正确答案】
1、2002 Shangxian
【答案解析】[解析] strcmp函数用于比较两个字符串的大小,因为a.name=Zhangsan,b.name= Shangxian,所以strcmp(a.name,b.name)>0为真,执行d=b;因为c.name=Anhua,d.name= Shangxian,所以strcmp(c.name,d.name)>0不成立,不执行d=c;最后输出d.sno和d.name的值分别为2002,Shangxian。