有以下程序: #include #include typedef struct{char name[9];char sex;float score[2];}ST; void fun(ST x) { STU y={’’Tom’’,’m’,98.0,90.0}

admin2021-07-09  15

问题 有以下程序:
#include
#include
typedef struct{char name[9];char sex;float score[2];}ST;
void fun(ST x)
{
STU y={’’Tom’’,’m’,98.0,90.0};
int i;
strcpy(x.name,y.name);
x.sex=y.sex:
for(i=0;i<2;i++)
x.score =y.score [1];
}
main()
{
ST student={’’Bob’’,’f,99.2,89.0};
fun(student);
printf(’’%s,%c,%2.0f,%2.0f\n’’,student.name,student.sex,student.score[0],student.
score[1]);
}
程序运行后的输出结果是(  )。

选项 A、Tom,m,98,90
B、Bob,f,99,89
C、Bob,f,98,90
D、Tom,f,99,89

答案B

解析 子函数的功能是将形参的值用一个固定的值覆盖,但因为是值传递,所以实参的值不会变化,所以在主函数中的结构体astudent的值没有发生变化。
转载请注明原文地址:https://kaotiyun.com/show/0Ztp777K
0

最新回复(0)