填空题
以下程序的运行结果是______。
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);
【正确答案】
1、20,c。
【答案解析】[分析]函数fun的功能是给结构体指针变量所指的结构体变量的各成员赋值,主函数两次调用函数fun,第一次调用,实参st两个成员的值是20和字符b,调用结束时,静态局部变量k没有释放,值为2:第二次调用,实参st两个成员的值是20和字符c,调用结束时,静态局部变量k没有释放,值为3;因此,输出结果是20和c。