好吧,所以我正在嘗試使用for循環而不是while循環計算無限和,並且代碼不工作,我不知道爲什麼。我得到了兩個「我到了這裏」的一次,然後什麼也沒有。 :\C++無限和碼掛起?冷凍?我不確定
有誰知道爲什麼我的代碼不工作,只是看起來像凍結或掛起?循環應該以我製造它們的方式結束,對吧? 這裏是目前的問題代碼
check=0;
cerr << "I got here" << endl;
for (int m=1;m<m+1;m++)
{
cerr << "I got here" << endl;
for (int n=1;n<n+1;n++)
{
if (check==0)
{
anaPhi[i][j][k]=1.0/(m*m*m*n*n*n)
*cos(k*deltat*sqrt(5.0)*pi/4.0
*sqrt(m*m+4.0*n*n))
*sin(m*pi*i*h/4.0)
*sin(n*pi*j*h/2.0);
check=1;
}
else
{
anaPhi[i][j][k]= anaPhi[i][j][k]
+1.0/(m*m*m*n*n*n)
*cos(k*deltat*sqrt(5.0)*pi/4.0
*sqrt(m*m+4.0*n*n))
*sin(m*pi*i*h/4.0)
*sin(n*pi*j*h/2.0);
}
}
}
}
我只是測試此代碼,這段代碼也不起作用!
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int b=0;
for (int m=1;m<m+1;m=m+2)
{
b=cos(b)+sqrt(b);
}
cout << b << endl;
return 0;
}
但是我只對我的'm'和'n'變量使用奇數。 如果它假設是從不終止的奇數,有沒有辦法在C++中做奇數和? – Mechy 2013-05-06 02:49:34
嗯,沒錯,所以你應該到0x7FFFFFFF。這可能是因爲你沒有等足夠長的時間。你是否已經用char而不是int來嘗試循環(所以它只會上升到127,然後回到-128)作爲一個起點? – 2013-05-06 02:51:21
我現在就試一試,並將結果發回。 編輯:是的,事情只是掛起。 :\即使在一個糟糕的127 ... 我要嘗試和現在做的偶數,看看是否改變的事情。 – Mechy 2013-05-06 02:53:02