首页 > 解决方案 > c中以下代码的问题是什么

问题描述

#include <stdio.h>

int main(){
    int a[1] = {1};
    int b = 6;
    printf("%d\n", a[-1]);
    printf("%d\n", b);
    //printf("%d\n", (a-1 == &b));
    return 0;
}

我写了上面的代码,发现在使用gcc或mingw编译时它不能正常工作,但是当我取消第8行的注释时,一切都很好。谁能帮我解释一下代码?

标签: cmemory

解决方案


a[-1]是未定义的内存空间。


推荐阅读