问题
单项选择题
有以下程序
struct STU
char name[10];
int num;
;
void f1(struct STU C)
struct STU b="LiSiGuo",2042;
c=b;
void f2(struct STU*C)
struct STU b="SunDan",2044;
*c=b;
main()
struct STU a="YangSan",2041,b="Wang Yin",2043;
f1(
A.;f2(&
B.;
printf("%d%d\n
答案
参考答案:A
解析:本题中首先定义了一个结构体类型STU,它由一个字符数组和一个整型变量num组成。然后定义两个函数f1和f2。其中f1是值传递的,f2是地址传递的。主函数中定义两个结构体变量a和b并分别赋初值,接着调用函数f1(a) ,由于函数f1是值传递,故执行该函数后并没有改变a的值,在接着调用函数f2(&b) ,由于该函数是地址传递,执行该函数后将使变量b的值为{“SunDan”,2044},故函数最后输出的a.num和b. num的值为2041和2044。