有以下程序: #include #include typedef struct{ char name[9]; char sex; float score[2];}STU; void f(STU*a) { strcpy(a一>name,“Zh

admin2020-07-28  17

问题 有以下程序:
#include
#include
typedef struct{
char name[9];
char sex;
float score[2];}STU;
void f(STU*a)
    {
    strcpy(a一>name,“Zhao”);
    a一>sex=‘m’;
    a一>score[1]=90.0;
    }
    main()
    {
    STU c={“Qian”,’f’,95,92.0},*d=&c;
    f(d);
    prinff(“%s,%c,%2.Of,%2.of\n”,
d一>name,c.ex,c.score[0],c.score[1]);
    }
程序的运行结果是(    )。

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

答案C

解析 f函数调用时,结构体数组名作为实参传给了形参指针,使结构体指针a指向了数组c的首地址。因此,f持有了主函数中数组c的指针,可以对数组c中的元素赋值,故返回主函数之后,数组c中的成员值已被更新。
转载请注明原文地址:https://jikaoti.com/ti/M6D0FFFM
0

随机试题
最新回复(0)