C是否执行数组越界检查?以下程序的输出是什么?
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)
解释:
这个问题的测验
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。