有以下程序:#includestruct tt{int x;struct tt*y;}*p;struct tt a[4]={20,a+1,15,a+2,

11 查阅

有以下程序: #include<stdio.h> struct tt {int x;struct tt*y;}*p; struct tt a[4]={20,a+1,15,a+2,30,a+3,17,a} main() { int i; p=a; for(i=1;i<=2;i++){printf("%d",p->x);p=P->y;} } 程序的运行结果是( )。

A.20,30,

B.30,17

C.15,30

D.20,15

参考答案:

D解析:本题考查的重点是对结构体的运用与理解。在a[4]的初始化中,相当于将其生成为一个链表,故打印两次相当于将前两个整数值打印出来.因此选项D是正确的。

计算机二级