有以下程序: #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() {

admin2011-06-10  24

问题 有以下程序:    #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是正确的。
转载请注明原文地址:https://kaotiyun.com/show/E3Pp777K
0

最新回复(0)