问题 填空题

以下程序的运行结果是______。 struct Node} int x; char ch; }; fun(struct Node*sn) } static k=1; sn->x=20; Sn->ch=’a’+k++; } main() { int i; static struct Node st=}10,’a’}; for(i=0;i<2;i++)fun(&st); printf("%d,%c\n",st.x,st.ch);}

答案

参考答案:B0,c。

解析:

[分析]:函数fun的功能是给结构体指针变量所指的结构体变量的各成员赋值,主函数两次调用函数fun,第一次调用,实参st两个成员的值是20和字符b,调用结束时,静态局部变量k没有释放,值为2:第二次调用,实参st两个成员的值是20和字符c,调用结束时,静态局部变量k没有释放,值为3;因此,输出结果是20和c。

解答题
单项选择题