编译时,我在 VirtualBox 中运行科学 linux 时遇到一个奇怪的问题:
#include <stdlib.h>
#include <stdio.h>
int main(void) {
int *arr;
arr = malloc(sizeof(int)*3);
arr[6]=5;
printf("%d", arr[6]);
return 0;
}
我的期望是在打印出这个 arr[6] 时我应该得到垃圾,因为我没有为那个空间分配足够的内存。
但是,我会用 gcc 编译它
gcc main.c -o MainTest
然后它将输出
5
我可能有点困惑,但这个数字不应该是一些随机数