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

admin2022-04-02  63

问题 有下列程序
 #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=c.gender;
     a.score=c.score:
     return a;
 }
 main()
 {
   STU b={"Qian",’f’,95};
   b=f(          );
   printf("%s,%c,%d,%s,%c,%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/gOd0FFFM
0

最新回复(0)