C++作业改错

来源:百度知道 编辑:UC知道 时间:2024/07/08 10:52:51
#include <iostream>

using namespace std;

int main ()

{

cout << " please enter an interger number: ";

for (int number; number * 2 <= 50;)
{

cin >> number;

cout << " Reenter an interger number: ";

}

return 0;
}
为什么我RUN了以后,当我输入的数字*2大于50以后,他还会显示 Reenter an interger number,但程序已经停止

cout << " please enter an interger number: ";

for (int number; number * 2 <= 50;)
{

cin >> number;

cout << " Reenter an interger number: ";

}

该为:

for (int number=0;; number * 2 <= 50;)
{

cout << " Reenter an interger number: ";
cin >> number;

}

你输入数字后,程序运行到cin >> number; 接着运行cout << " Reenter an interger number: "; 然后条件不满足,才跳出FOR循环。

这是你的初始条件:int number;其实没有什么条件,只是定义了一个变量而已.所以第一次一定会执行,不管你输入什么,否则也不会读入了,因为你的cin是在for里面的.你可以把cin 话在外面,先判断后再看看值是多少.

int number;
cout << " please enter an interger number: ";
cin >> number;
for ( ;number * 2 <= 50;)
{
cout << " Reenter an interger number: ";
}
当然了,这样就不如用while(number*2<=50)简单了.

肯定了,给你分析一下:
cout << " please enter a