若有以下程序 #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct stu { char *name, gender; int score

admin2022-11-11  30

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

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

答案B

解析 本题考查结构体变量中的引用,其中a的name为Zhao,b执行函数f(b.name)后b的name并没有改变,还是Zhao,所以答案为B选项。
转载请注明原文地址:https://kaotiyun.com/show/xX0D777K
0

相关试题推荐
随机试题
最新回复(0)