问题 填空题

有以下程序:
# include<string.h>
struct STU
char name[10];
int num;;
void f(char *name, int num)
struct STU s[2]="SunDan",20044,"Penghua",20045;
num=s[0].num;
strcpy(name,s[0].name);

main()
struct STU s[2]="YangSan",20041,"LiSiGuo",20042,*p;
p=&s[1];f(p->name,p->num);
printf("%s %d\n",p->name,p->num);

程序运行后的输出结果是 【8】

答案

参考答案:SunDan 20042

解析: f函数中形参1用的是显式传地址的方式,因此p->name的值发生改变,而形参2用的传值的方式,在调用时不改变实参的值,因此p->num的值不发生变化。

不定项选择
单项选择题