在 while 循环中重复函数调用

Repeating function call inside a while loop

我有一个名为 move() 的函数,我将它放在一个 while 循环中。此函数允许用户选择 1 到 4 之间的整数和 returns 该数字。如果函数 returns 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