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

admin2013-06-11  20

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

选项 A、运行后报错觉
B、6 6
C、6 11
D、5 10

答案1

解析 程序中将指针q赋予NULL,即指向了空地址,而对空地址所对应的内容赋值*q =*(p+5)虽然可以输出结果6  11,但最后是会报错的,即输出提示Null pointer assignment。
转载请注明原文地址:https://kaotiyun.com/show/i5Jp777K
0

最新回复(0)