A-A+

以下程序的运行结果是______。 struct Node} int x; char ch;

2022-08-12 18:31:38 问答库 阅读 197 次

问题详情

以下程序的运行结果是______。 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,%cn",st.x,st.ch); }


请帮忙给出正确答案和分析,谢谢!

参考答案

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

考点:程序