不是数组越界是堆栈溢出(Stack Overflow)。是運行环境对堆栈大小的设置不同造成的(堆栈简单来说就是某个函数的局部变量所用的内存空间)
你在main中声明了一个很大的数组int c[300][300],因为它是局部变量所以被创建在main函数的堆栈(Stack)中VC的默认堆栈设置比较大所以可以装下,你的测试系统默认设置可能比较小所以就爆栈了...
你把int c[300][300];放到┅切函数之外吧,声明为全局变量这样就是创建在堆(Heap)上而不是堆栈(Stack)上,这就没有大小限制了
以后记得:保险起见,太大的数组都不要放到函数里声明而要声明为全局变量。如果非要开在函数内部请用malloc()直接开辟堆(Heap)空间。具体用法请自行度娘