问题 单项选择题

有以下程序:
#include <stdio.h>
#include <stdlib.h>
struct NODE
int num;
struct NODE *next;
;
main()
struet NODE *p,*q,*r;
int sum=0;
p=(struct NODE *) malloc(sizeof(struct NODE));
q=(struct NODE *) malloc(sizeof(struet NODE));
r=(struct NODE *) malloc(sizeof(struct NODE));
P- >num=1;q- >num=2;r->num=3;
p- >next=q;q- >next=r;r- >next=NULL;
sum + =q- >next- >num;sum + =P- >num;
printf("%d\n",sum);

执行后的输出结果是( )。

A.3

B.4

C.5

D.6

答案

参考答案:B

解析: 程序中q->next=r,所以q->next->num即为r->num,值为3,而p-> num=1,所以sum=3+1=4。

单项选择题
判断题