【发布时间】:2014-09-11 19:19:58
【问题描述】:
正如标题所说,cout 不会打印任何东西!但是 main 正常完成并返回一个负数,这是怎么回事?这是我的代码:
#include <iostream>
using namespace std;
unsigned long fibonacci(long unsigned int *);
int main(void)
{
cout<<"IT WILL NOT PRINT!!!!!";
unsigned long int fib[4000000];
cout<<"SUM OF EVEN FIBONACCI NUMBERS: "<<fibonacci(fib)<<endl;
return 0;
}
unsigned long fibonacci(unsigned long int *FIBO)
{
unsigned long i;
int sum=0,c=0, *EVEN = new int[2000000];
FIBO[0]=1; FIBO[1]=2;
for (i=2;i<3999999;i++){
FIBO[i]=FIBO[i-1]+FIBO[i-2];
if (FIBO[i]%2==0){
EVEN[c]=FIBO[i];
sum+=EVEN[c];
c++;
}
}
delete [] EVEN;
return sum;
}
【问题讨论】:
-
欢迎来到本站!请将您的代码发布到您的问题中。缩进四个空格,使其看起来像网站上的代码。祝你好运!
-
尝试在您的first
cout之后添加endl。在您刷新标准输出之前,您可能在fibonacci中失败了。 -
@PaulEvans 我做了,但这不是问题,因为你可以看到它不打印 cout
-
相信不一样,我试过这篇文章,什么也没有。实际上没有任何作用!我什至返回 293;在 int main(void) 之后什么都没有,这是为什么呢?
-
不一样,因为你的程序崩溃了。