还有其他方法可以输入此代码吗?
我希望它更清楚。
#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友好的,所以我在这里犹豫不决。
答案 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;
}