有以下程序 #include #include structA { inta; charb[10]; doublec; }; voidf(structAt); main() { structAa={1001,"ZhangDa",1098.0}; f(a);

admin2020-11-23  29

问题 有以下程序
#include
#include
structA
{
inta;
charb[10];
doublec;
};
voidf(structAt);
main()
{
structAa={1001,"ZhangDa",1098.0};
f(a);
printf("%d,%s,%6.1f\n",a.a,a.b,a.c);
}
voidf(structAt)
{
t.a=1002;
strcpy(t.b,"ChangRong");
t.c=1202.0;
}
程序运行后的输出结果是

选项 A、1002, ZhangDa,1202.0
B、1002,ChangRong,1202.0
C、1001, ChangRong,1098.0
D、1001,ZhangDa,1098.0

答案D

解析 本题考查结构体的相关操作以及传值、传址的区别,该题中调用f函数后,会生成参数a的一个副本,而不会改变a的值,所以a值维持原值,选项D正确。
转载请注明原文地址:https://jikaoti.com/ti/F2D0FFFM
0

最新回复(0)