填空题
以下程序运行后的输出结果是{{U}} 【17】 {{/U}}。
struct NODE
{ int k;
struct NODE*link;
};
main()
{ struct NODE m[5],*p=m,*q=m+4;
int i=0;
while(p!=q){
p->k=++i;p++;
q->k=i++;q--;
}
q->k=i;
for(i=0;i<5;i++)printf("%d",m[i].k);
printf("/n");
}
【正确答案】
1、13431
【答案解析】[解析]初始化时,指针p指向m[0]的地址,指针q指向m[4]的地址,p!=q满足循环条件,执行循环语句,得到m[0].k=1,m[4].k=1,此时i=2,指针p指向m[1]的地址,指针q指向m[3]的地址,p!=q满足循环条件,执行循环语句,得到m[1].k=3,k=
3,此时i=4,指针q指向m[2]的地址,p= =q不满足循环条件,则退出循环,m[2].k=4。所以最后输出为13431。