单选题
有以下程序
#include<stdlib.h>
struct NODE
int num;stmct 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);
程序运行后的输出结果是
【正确答案】
D
【答案解析】[解析]主函数中首先定义了三个结构体指针变量p,q,r。然后调用内存分配函数分别为其分配地址空间,程序中变量q->num的值为20,指针变量q->next指向指针变量r,r->num的值为30,所以变量q->next->num的值为30,因此,表达式q-> num+q->next->num的值为20+30=50。