我可能只是错过了一些非常简单的东西,但是当我运行我的程序时,它只是完全跳过我的循环,为什么?
#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;
}
答案 0 :(得分:4)
您的语法错误:for循环应具有以下形式:
for ( init; condition; increment )
请注意,这些子句以;
分隔。但你写道:
for (i=0, i < 10; i++;)
使用,
代替第一个;
。
因此,i=0, i < 10
为init
,i++
为condition
,increment
为{/ 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++)