A-A+
以下程序的运行结果是______。 struct Node} int x; char ch;
问题详情
以下程序的运行结果是______。 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。