问题 单项选择题

有以下程序
#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

答案

参考答案:D

解析: 该题中考查的是简单的单链表,下图就是赋完值后的示意图:容易看到p->num=10,而 q->next就是r,所以q->next->num=30,故答案为40。
[*]

单项选择题 A1型题
单项选择题