单选题 有以下程序:
#include <stdio.h>
#include <string.h>
typedef struct {
char name[10];
char sex;
int age;} STU;
void fun(STU *t)
{ strcpy((*t).name,"Tong");
(*t).age++;
}
main()
{ STU s[2]={"Hua","m",18,"Qin","f",19};
fun(s+1);
printf("%s,%d,%s,%d/n",s[0].name,s[0].age,s[1].name,s[1].age);
}
程序运行后的输出结果是______。
【正确答案】 A
【答案解析】[解析] 用typedef说明一种新类型名STU,其使用情况与结构体基本一致。程序执行过程为:定义STU类型数组,长度为2,并为其初始化。s[0].name="Hua",s[0].sex="m",s[0].age=18,s=[1].name="Qin",s[1].sex="f",s[1].age=19。调用函数fun(s+1)将变量s[1]地址传入函数,则s[1].name="Tong",s[1].age=20。依次输出s[0].name,s[0].age,s[1].name,s[1].age,结果为Hua,18,Tong,20,故A选项正确。