问题 单项选择题

以下程序的运行结果是_______。
#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=*(p+5);
printf("%d %d\n",*p,*q);

A.运行后报错

B.6 6

C.6 12

D.5 5

答案

参考答案:A

解析:[评析] 题目中没有给q分配存储单元,只是简单的给它赋了一个值,所以程序的运行结果是6 11 NULL pointer assignment,也就是运行后报错。

单项选择题
单项选择题