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

admin2020-04-18  26

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

答案C

解析 本题考查结构体的相关操作以及传值、传址的区别,该题中调用f函数后,会首先输出被重新复制的b值,且与a相同,而执行完f函数后,b值并不会改变,所以还是维持原值,选项C正确。
转载请注明原文地址:https://kaotiyun.com/show/NjCp777K
0

最新回复(0)