C ++不会识别我的for循环

时间:2016-12-06 21:41:23

标签: c++

我可能只是错过了一些非常简单的东西,但是当我运行我的程序时,它只是完全跳过我的循环,为什么?

#include <iostream>
using namespace std;

int main()
{
    //user input
    int largest=0, num, i=0;
    cout << "Please enter 10 numbers to find the largest one" << endl;
    for (i=0, i < 10; i++;)
    {
        cout << "Enter number " << i+1 <<":";
        cin >> num;
        if (num > largest)
        largest = num;

    }
    cout << "The largest number is: " << largest;
return 0;

}

2 个答案:

答案 0 :(得分:4)

您的语法错误:for循环应具有以下形式:

for ( init; condition; increment ) 

请注意,这些子句以;分隔。但你写道:

for (i=0, i < 10; i++;)

使用,代替第一个;

因此,i=0, i < 10initi++conditionincrement为{/ 1}}。

因此,当您的循环运行时,首先设置i=0,然后评估i < 10并丢弃结果。

然后检查&#34;条件&#34;,i++ - 在增量前返回i,即0,这意味着false ,因此你的循环不会执行。

相反,你打算写:

for (i=0; i < 10; i++)

哪个会按预期运作。

答案 1 :(得分:2)

for(/*Initialize*/; /*Evaluate*/ ;/*update iterater*/); 

使用上面的内容,你在for循环的Evaluate部分有i++

0 == false 

尝试这样:

for (i=0 ; i < 10; i++)