检查循环

Checking the loop

本文关键字:循环 检查      更新时间:2023-10-16
#include <stdio.h>
#include <conio.h>
void main()
{
    clrscr();
    int lop, squr;
    for (lop=1; lop<=20; lop=lop+1);
    {
        squr = lop*lop;
        printf("%5d,%5d,n",lop,squr);
    }
    getch();
}

的朋友说的是这个源代码运行良好......但它在我这边运行不佳。 我应该怎么做才能在C++中正常工作。

的朋友对我说,上面提到的代码在他使用的版本中运行良好。我说,这段代码不正确,会给出执行错误。上面提到的代码对于C/C++的任何标准或版本都是正确的。

还告诉我有多少个版本C++可用...

问候

for (lop=1; lop<=20; lop=lop+1);是问题所在。更改为for (lop=1; lop<=20; lop=lop+1)(删除分号将使此操作)。

这是您的代码,问题已修复和优化:

#include <stdio.h>
#include <conio.h> // Remove if you want
int main() {
    clrscr(); // Remove if you want
    int lop, squr;
    for (lop=1; lop<=20; ++lop) {
        squr = lop*lop;
        printf("%5d,%5d,n", lop, squr);
    }
    getch(); // Remove if you want
    return 0;
}

带有// Remove if you want的行可以删除,但会改变行为。请参阅@VinayakGarg的评论。

应该是

这样的——

#include <stdio.h>
int main()
{
    int lop, squr;
    for (lop = 1; lop <= 20; lop++)
    {
        squr = lop*lop;
        printf("%5d,%5d,n", lop, squr);
    }
    return 0;
}

conio.h因此clrscr()getch()不是标准的一部分,因此不应在代码中使用它们。

编辑-

还告诉我有多少个版本C++可用...

C++没有确切的版本,但有标准

Year    C++ Standard                    Informal name
2011    ISO/IEC 14882:2011              C++11
2007    ISO/IEC TR 19768:2007           C++TR1
2003    ISO/IEC 14882:2003              C++03
1998    ISO/IEC 14882:1998              C++98

但是,C++编译器也有版本,例如gcc 4.7.2等。