在while循环中重复函数调用

Repeating function call inside a while loop

本文关键字:函数调用 while 循环      更新时间:2023-10-16

我有一个名为move()的函数,我将其放置在while循环中。该函数允许用户在1到4之间选择一个整数并返回该数字。如果函数返回3或4,则while循环退出循环。这是我在main函数中的代码。

while(move() < 3){
    if(move() == 2){
        cout << "You hate this fruit: ";
    }
    cout << "Enter name of fruit: ";
    cin >> fruit;
    cout << endl;
}

我的问题是当我运行程序时,如果我选择1或2,函数move()将在继续执行其余代码之前再次被调用。如何解决这个问题?

move()的结果赋值给一个变量,以便您可以多次使用它。

int m;
while ((m = move()) < 3) {
    if (m == 2) {
    // and so on

或,根据口味

for (int m = move(); m < 3; m = move()) {
    if (m == 2) {
    // and so on