问题 单项选择题

以下程序的运行结果是( )。
#include <stdio.h>
main()
int a[]=1,2,3,4,5,6,7,8,9,10,11,12;
int *p=a+5,*q=NULL;
*q=8(p+5);
printf("%d %d\n", *p,*q);

A) 运行后报错
B) 6 6
C) 6 11
D) 5 5

答案

参考答案:A

解析: 本题的考查点是通过指针引用数组元素。程序中没有给q分配存储单元,只是给它赋了一个NULL,所以程序的运行结果是:6 11 NULL pointer assignment,也就是运行后报错。

判断题
单项选择题