有以下程序 #include <stdio.h> typedef struct stu { char name[10]; char gender;

admin2021-04-28  17

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

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

答案C

解析 main函数中,首先定义两个结构体STU类型的变量a,b,并对a,b初始化,f函数的功能是:用形参结构体指针b指向的结构体对形参a赋值,此时形参结构体a的值为指针b指向的值,输出a即输出指针b指向的结构体,返回到main函数后,在输出实参a的值,答案为C选项,注:形参a,b不要和实参a,b混淆。
转载请注明原文地址:https://kaotiyun.com/show/YFtp777K
0

最新回复(0)