C |数组|问题11

C是否执行数组越界检查?以下程序的输出是什么?

null

int main()
{
int i;
int arr[5] = {0};
for (i = 0; i <= 5; i++)
printf ( "%d " , arr[i]);
return 0;
}


(A) 编译器错误:数组索引超出范围。 (B) 始终打印0五次,后跟垃圾值 (C) 程序总是崩溃。 (D) 程序可能会打印五次0,后跟垃圾值,或者如果地址(arr+5)无效,程序可能会崩溃。 答复: (D) 说明: 这个问题的小测验

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享