为什么 for(cont=100; cont>=20; cont-=10) 只返回一个值而不是一个系列

Why for(cont=100; cont>=20; cont-=10) returning only one value and not a serie

本文关键字:cont 一个 个系列 返回 for gt 为什么 cont-      更新时间:2023-10-16

为什么下面的代码没有返回类似...100 90 80 70 60 50 40 30 20 结果返回数字 10?

using namespace std;
int main()
{
 int cont;
 for(cont=100; cont>=20; cont-=10);
 {
   cout<< " "<<cont;
 }
 cout<< "n";
 system("pause");
}

对不起,我的愚蠢问题..我现在开始学习 c++

谢谢

for(cont=100; cont>=20; cont-=10);
                                 ↑

删除此;

您的代码与以下内容相同:

for(cont=100; cont>=20; cont-=10) { }
{
   cout<< " "<<cont;
}

循环将继续从count中减去 10,直到count>=20不满足,然后它将打印 cont 的值,这将是 10。

提示:使用调试器,它是您最好的朋友。

你的错误已经被指出了(在你的for ();循环之后的一个杂散;),但是根本原因更微妙一些:

变量应在尽可能小的范围内声明

如果我们遵守此准则,我们会得到:

int main()
{
    for(int cont=100; cont>=20; cont-=10);
    {
        std::cout << " " << cont; // COMPILER ERROR: unknown "cont"
    }
    std::cout<< "n";
}

并且编译时错误跟踪运行时错误的成本总是较低。

右括号后面的分号不属于那里;它被解释为循环的整个主体。

因为闭合参数后的分号。它后面的分号表示循环没有主体,因为分号是任何语句的结尾。