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

admin2021-04-28  25

问题 有以下程序
#include <stdio.h>
typedef struct stu {
                char  name[10];
                char  gender;
                int  score;
              } STU;
void f(STU  *a, STU  *b)
{  *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、Zhao,m,290,Zhao,m,290
B、Zhao,m,290,Qian,f,350
C、Qian,f,350,Qian,f,350
D、Qian,f,350,Zhao,m,290

答案A

解析 程序执行过程为:调用f函数,将结构体a与b的地址作为参数传入函数,函数中指针a指向结构体a,指针b指向结构体b,将指针a指向的结构体a赋给指针b指向的结构体b,结构体b内容被修改。输出b指向的结构体b的元素Zhao, m,290。调用函数结束。输出结构体b的元素Zhao, m,290。A选项正确。
转载请注明原文地址:https://kaotiyun.com/show/gWtp777K
0

最新回复(0)