我需要根据用户输入创建一个单链表,该列表会添加到列表的前面并基于用户输入。我已经完成了该程序,但出于某种原因,我在一个较小的部分上使用用户输入在空白处运行空白:
while(numInput != -1)
{
cout << "Enter a number: ";
cin >> numInput;
if(numInput != -1)
{
theList->addToHead(numInput);
}
}
我知道有更好的方法来写这个,即使它做了正确的事情。如果我在while循环中没有IF语句,它会在列表中添加“-1”,我不希望这样。所以这段代码有效,但我觉得它应该以不同的方式编写。我弄乱了不同的循环,但现在想不到它。提前谢谢。
答案 0 :(得分:4)
可以使用comma operator
,它会很整洁。
while(cout << "Enter a number: ", cin >> numInput && numInput != -1)
{
theList->addToHead(numInput);
}
答案 1 :(得分:3)
break;
这就是你要找的东西吗?
答案 2 :(得分:2)
我认为你的意思是:
std::cout << "Enter a number: ";
while (std::cin >> numInput && numInput != -1) {
theList->addToHead(numInput);
std::cout << "Enter a number: ";
}