有下列程序: #include<stdio.h> #include<string.h> typedef struct stu{ char name[9]; char gender;

admin2022-10-25  33

问题 有下列程序:
     #include<stdio.h>
     #include<string.h>
     typedef struct stu{
         char name[9];
         char gender;
         int score;
     }STU;
     STU a={”Zhao”,’m’,85};
     STU f(){
       STU C={”Sun”,’f’,90};
       strcpy(a.name,c.name);
       a.gender=e.gender;
       a.score=c.score:
       return a;
     }
     main()
     {
       STU b={”Qian”,’f’,95};
       b=f();
       printf(”%s,%c,%d,%s,%s,%d”,a.name,a.gender,a.score,b.name,b.gender,b.score);
     }
     程序执行后的输出结果是(          )。

选项 A、Sun,f,90,Sun,f,90
B、Zhao,m,85,Sun,f,90
C、Zhao,m,85,Qian,f,95
D、Sun,f,90,Qian,f,95

答案 A

解析 程序定义结构体类型STU,定义类型STU的全局变量a。main函数定义局部类型为STU的变量b,并对它初始化,调用函数f。将局部变量c的各个成员值赋给a,覆盖a的旧值,将a的新值返回并赋给b,此时a、b的各个成员值都是Sun,f,90,程序输出:Sun,f,90,Sun,f,90。本题答案为A选项。
转载请注明原文地址:https://jikaoti.com/ti/AGd0FFFM
0

最新回复(0)