有以下程序 #include<stdlib.h> struct NODE { int num;struct NODE*next;}; main() { struct NODE*p,*q,*r; p=(struct N

admin2009-02-15  22

问题 有以下程序
   #include<stdlib.h>
   struct NODE
   { int num;struct NODE*next;};
   main()
   { struct NODE*p,*q,*r;
     p=(struct NODE*)malloc(sizeof(struct NODE));
     q=(struct NODE*)malloc(sizeof(struct NODE));
     r=(struct NODE*)malloc(sizeof(struct NODE));
     p->num=10;q->num=20;r->num=30;
     p->next=q;q->next=r;
     printf("%d\n",p->num+q->next->num);}
   程序运行后的输出结果是

选项 A、10
B、20
C、30
D、40

答案8

解析 该题中考查的是简单的单链表,下图就是赋完值后的示意图:容易看到p->num=10,而 q->next就是r,所以q->next->num=30,故答案为40。
转载请注明原文地址:https://kaotiyun.com/show/FkXp777K
0

最新回复(0)