有以下程序 #include #include typedef struct { char name[10]; char sex; int age; } STU; void fun(STU t) { strcpy(t.name,"Tong"); t.

admin2020-05-19  55

问题 有以下程序
#include
#include
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、Hua,18,Qin,19
B、Hua,18,Tong,20
C、Tong,19,Qin,19
D、Hua,19,Tong,19

答案A

解析 结构体变量名作为函数参数是值传递,形参数据的改变不会影响到实参数据,所以函数调用结束后数组s中的数据没有变化,输出结果为选项A)。
转载请注明原文地址:https://jikaoti.com/ti/rPG0FFFM
0

最新回复(0)