打破while循环的更好方法是什么? C

时间:2013-10-06 00:16:29

标签: c++ loops

我需要根据用户输入创建一个单链表,该列表会添加到列表的前面并基于用户输入。我已经完成了该程序,但出于某种原因,我在一个较小的部分上使用用户输入在空白处运行空白:

    while(numInput != -1)
{
    cout << "Enter a number: ";
    cin >> numInput;
    if(numInput != -1)
    {
        theList->addToHead(numInput);
    }
}

我知道有更好的方法来写这个,即使它做了正确的事情。如果我在while循环中没有IF语句,它会在列表中添加“-1”,我不希望这样。所以这段代码有效,但我觉得它应该以不同的方式编写。我弄乱了不同的循环,但现在想不到它。提前谢谢。

3 个答案:

答案 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: ";
}
相关问题