有以下程序: struct STU { char name[10]; int num; float TotalScore; }; void f(struct STU *p) { struct STU s[2]

admin2010-09-05  14

问题 有以下程序:    struct STU    { char name[10];    int num;    float   TotalScore;    };    void f(struct STU *p)    { struct STU  s[2]={{"SunDan", 20044, 550}, {"Penghua", 20045, 537}}, *q=s;      ++p;    ++q;    *p=*q;    }    main()    { struct STU s[3]={{"YangSan", 20041, 703}, {"LiSiGuo", 20042, 580}};      f(s);      printf(" % s % d % 3.0f\n", s[1]. name, s[1]. num, s[1]. TotalScore);    }    程序运行后的输出结果是______。

选项 A、SunDan 20044 580
B、Penghua 20045 537
C、LiSiGUO 20042 580
D、SunDan 20041 703

答案B

解析 f函数用了显式传地址的方式,因此主函数中的s值发生了变化。
转载请注明原文地址:https://kaotiyun.com/show/FKWp777K
0

随机试题
最新回复(0)