A-A+

有以下程序 #include<stdlib.h> struct NODE { int num

2022-08-06 01:48:25 问答库 阅读 174 次

问题详情

有以下程序
#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("%dn",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。

考点:程序