有以下程序: #include #include stmct STU { int a; char b[10]; float c; }; void fun(struct STU t); main() { struct STU a={1001,’’Tim’’,

admin2021-07-09  19

问题 有以下程序:
#include
#include
stmct STU
{
int a;
char b[10];
float c;
};
void fun(struct STU t);
main()
{
struct STU a={1001,’’Tim’’,635.0};
fun(a);
printf(’’%d,%s,%5.1f\n’’,a.a,a.b,a.c);
}
void fun(struct STU t)
{
t.a=1002:
strcpy(t.b,’’Dom’’);
t.c=701.0;
}
程序运行后的输出结果是(  )。

选项 A、1001,Tim,635.0
B、1002,Dom,701.0
C、1002,Dom,701.0
D、1001,Tim,701.0

答案A

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

随机试题
最新回复(0)