C ++ - 使用循环的另一种方法

时间:2014-10-14 17:22:10

标签: c++

还有其他方法可以输入此代码吗?

我希望它更清楚。

#include <iostream>
#include <string>
#include <stdlib.h>

using namespace std;

int main(){
    string x;
    for (x; x != "EXIT";){
        cin >> x;
        cin.ignore();
        if (x == "EXIT"){
            return EXIT_SUCCESS;
        }
    }
}

在控制台中输入“EXIT”时,代码应该关闭。

我发现在Google上找到合适的答案很难,所以我决定问你们 因为我知道Stackoverflow根本不是noob友好的,所以我在这里犹豫不决。

4 个答案:

答案 0 :(得分:7)

如果您还要测试if (x == "EXIT"),则无需测试x != "EXIT"。只是做:

int main(){
    string x;
    while (x != "EXIT"){
        cin >> x;
        cin.ignore();
    }
    return EXIT_SUCCESS;
}

或者,使用(n为空)for循环:

int main() {
    for (string x; x != "EXIT"; (cin >> x).ignore()) ;
    return EXIT_SUCCESS;
}

答案 1 :(得分:2)

没有循环? - 您可以编写递归函数。

没有条件(al)?

答案 2 :(得分:2)

虽然你有什么工作,有些人可能会说一个更清洁的循环可能如下:

while (true)
{
    cin >> x;
    if (x == "EXIT")
        return EXIT_SUCCESS;
}

这消除了for循环中的额外条件。如果你想在没有循环的情况下完成它,你可以编写一个使用递归的函数。

int func() {
    int x;
    cin >> x;
    if (x == "EXIT")
        return EXIT_SUCCESS
    return func();
}

答案 3 :(得分:2)

如果您正在寻找一种更清晰的方式来展示相同的功能,您可以尝试以下方法:

int main()
{
    string x;
    while(x != "EXIT")
    {
        cin >> x;
        cin.ignore();
    }
    return EXIT_SUCCESS;
}