若有以下程序 #include typedef struct stu { char name[10], gender; int score; } STU; void f(STU a, STUB) { b = a; printf( "%s,%c

admin2020-05-19  21

问题 若有以下程序
#include
typedef  struct stu {
char  name[10], gender;
int  score;
} STU;
void  f(STU  a, STUB)
{  b = a;
printf( "%s,%c,%d,", b.name, b.gender, b.score );
}
main()
{  STU  a={"Zhao", ’m’, 290}, b={"Qian", ’f’, 350};
f(a,b);
printf("%s,%c,%d\n", b.name, b.gender, b.score);
}
则程序的输出结果是

选项 A、Qian,f,350,Qian,f,350
B、Zhao,m,290, Zhao,m,290
C、Zhao,m,290,Qian,f,350
D、Zhao,m,290,Zhao,f,350

答案C

解析 本题考查结构体的相关操作以及传值、传址的区别,该题中调用f函数后,会首先输出被重新复制的b值,且与a相同,而执行完f函数后,b值并不会改变,所以还是维持原值,选项C正确。
转载请注明原文地址:https://jikaoti.com/ti/K1G0FFFM
0

最新回复(0)