C++无法识别我的 for 循环

C++ won't recognize my for loop

本文关键字:for 循环 我的 识别 C++      更新时间:2023-10-16

我可能只是错过了一个真正简单的东西,但是当我运行程序时,它只会跳过我的循环,为什么?

#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;

}

您的语法是错误的:因为循环应具有:

for ( init; condition; increment ) 

请注意,该子句由;分开。但是你写道:

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

使用,而不是第一个;

因此,您将i=0, i < 10作为initi++作为condition,而没有increment

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

然后,您检查"条件",即 i++-在增量之前返回 i,即 0,这意味着 false,因此您的循环不执行。

而是,您打算写:

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

它会按照您的期望发挥作用。

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

使用以上内容,您在for循环的评估部分中具有i++

0 == false 

尝试这样:

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