问题
填空题
有以下程序:
# 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的值不发生变化。