问题
填空题
以下程序的运行结果是______。
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。