问题
填空题
以下程序的运行结果是 【12】 。 # include<string.h> typedef 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
解析: ’B’的ASCII值是66。本题中指针变量p指向d,执行第一个if语句时,条件成立,d=b;执行第二个if语句时,条件不成立,故d=b,所以d.sno=2002,p->name"Shangxian"。