我在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");
答案 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()
写出数组边界。