C++ 程序以信号25终止,时间=0.06秒mem=3340KB

C++ 程序以信号25终止,时间=0.06秒mem=3340KB,c++,linux,c,C++,Linux,C,以下代码在ideone.com上运行时产生运行时错误信号:25,而程序在VS 2013上正常运行;为什么会有这样的不良行为 #include <stdio.h> #include <iostream> #include <math.h> using namespace std; int main(void) { int a,b,sqroot,i,j; a=1; for(i=0;i<=1562500;i++) {

以下代码在ideone.com上运行时产生运行时错误信号:25,而程序在VS 2013上正常运行;为什么会有这样的不良行为

#include <stdio.h>
#include <iostream>
#include <math.h>
using namespace std;
int main(void) {
    int a,b,sqroot,i,j;
    a=1;
    for(i=0;i<=1562500;i++)
    {
        sqroot=sqrt(i);
        for(j=1,b=0;j<=sqroot;j++)
        {
            if(i%j==0)
            b++;
        }
        a+=2*b;
        if(sqroot==sqrt(i))
            a--;
        printf("%d,",a);
    }
    return 0;
}
#包括
#包括
#包括
使用名称空间std;
内部主(空){
int a,b,sqroot,i,j;
a=1;
对于(i=0;i而言,“不当行为”在

另一个原因可能是源代码本身。如果我标记它,但使用
iostream
使用namespace std;
,我会得到

Compilation error   time: 0.02 memory: 2292 signal:25

prog.c:2:20: fatal error: iostream: No such file or directory
 #include <iostream>
                    ^
compilation terminated.
编译错误时间:0.02内存:2292信号:25
prog.c:2:20:致命错误:iostream:没有这样的文件或目录
#包括
^
编译终止。
中解释了“不当行为”

另一个原因可能是源代码本身。如果我标记它,但使用
iostream
使用namespace std;
,我会得到

Compilation error   time: 0.02 memory: 2292 signal:25

prog.c:2:20: fatal error: iostream: No such file or directory
 #include <iostream>
                    ^
compilation terminated.
编译错误时间:0.02内存:2292信号:25
prog.c:2:20:致命错误:iostream:没有这样的文件或目录
#包括
^
编译终止。

信号25是(通常)SIGXFSZ,表示已超过单个文件大小的配额。我猜想,程序运行的沙箱对输出文件大小有严格限制,并且程序的输出被重定向到临时输出文件。此外,您正在一行上打印每个整数,而不管它是否是否通过任何测试,可能会导致您超出允许的文件大小。

信号25(通常)SIGXFSZ,表示已超过单个文件大小的配额。我猜想,程序运行的沙箱对输出文件大小有严格限制,并且程序的输出被重定向到临时输出文件。此外,您正在一行上打印每个整数,而不管它是否是否通过任何测试,可能会导致您超出允许的文件大小。

您的数字对于该网站为您分配的内容来说太大了。可能它运行的时间太长了,所以ideone会终止它。将
int
更改为
long
printf
应该在一行上打印数百万个字符。我不这样认为e在任何系统上的正常运行方式。SIGXFSZ-超出了文件大小限制。您的代码产生的输出太多,无法满足此系统的要求。您的数字太大,无法满足该网站为您分配的数据。可能它运行的时间太长,所以ideone会终止它。将
int
更改为
long
printf
应该在一行上打印数百万个字符。我看不出在任何系统上如何正常运行。SIGXFSZ-超出了文件大小限制。您的代码生成的输出太多,超出了此系统允许的输出。