问题
填空题
以下程序的运行结果是 【17】 。 #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); }
答案
参考答案: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。