如何解决报告的错误"运行时错误exitcode 6"用C代码?

时间:2014-10-29 01:22:37

标签: c++

我在OJ系统上进行了多次代码测试,结果在特定的第3和第4次运行中报告错误“运行时错误exitcode 6”,一次测试包含10次运行。除了这两次失败之外,其他都是正确的。

我在网上查了一下“运行时错误exitcode 6”的意思是“无效的文件句柄”,但我甚至没有文件变量或任何进程参考FILE。

我试图删除unnessary头文件,只留下两个头文件: #include <stdio.h> #include<string> 但它不起作用。 所以也许你们中的一些人可以帮助我离开这里。非常感谢...我使用C。

这是我的代码

    scanf("%d\n",&n); 

    int *A = new int[n];

    for(i = 1; i<n+1; i++) {
        scanf( "%d ",&A[i]); 
    }
    scanf( "\n"); 

1 个答案:

答案 0 :(得分:1)

int *A = new int[n];

for(i = 1; i<n+1; i++) {
    scanf( "%d ",&A[i]); 
}

A的合法索引范围是[0,n-1]而不是[1,n]。因此,此循环的最后scanf()写出数组边界。