いくつかの数字をチェックする簡単なプログラムを書こうとしました。それは仕事を断るだけです。以下のコードサンプル:forループのC++で間違ったイテレータが初期化される
#include <iostream>
using namespace std;
void checknumber(int i)
{
if(i>9)
{
if(i%2==0) {cout<<"even"<<endl;}
else {cout<< "odd" << endl;}
}
else
{
switch(i)
{
case 1:
cout<<"one"<<endl;
break;
case 2:
cout<<"two"<<endl;
break;
case 3:
cout<<"three"<<endl;
break;
case 4:
cout<<"four"<<endl;
break;
case 5:
cout<<"five"<<endl;
break;
case 6:
cout<< "six"<<endl;
break;
case 7:
cout<<"seven"<<endl;
break;
case 8:
cout<<"eight"<<endl;
break;
case 9:
cout<<"nine"<<endl;
break;
default:
break;
}
}
}
int main() {
int a,b;
cin >> a >> b;
for (int i=a; i==b; i++)
{
checknumber(i);
}
return 0;
}
機能は正常です。しかし、メインプログラムは私が期待どおりに動作することを拒否します。
入力:3 10、出力:なし。私はそれをデバッグし、私は-27k周りの非常に負の数に初期化しなければならないことがわかりました。
'for(int i = a; i == b; i ++)'、 'a == b'のときだけループを実行しますか? –
'for(int i = a; i == b; i ++)' - OK。初心者のためのC++の本は、このように書かれた 'for'ループを示していますか?どちらかがあなたの発明であるか、 'for 'ループの章と中間条件の意味をもう一度読む必要があります。 – PaulMcKenzie