0

这是我的代码。

#include <iostream>
using namespace std;
void numberChecker();
bool numberCalc(int num, bool guess);
int main(){
    numberChecker();
    return 0;
}

void numberChecker(){
    int num;
    int guess = false;
    cout << "Hello, welcome to my program!\nGuess: ";
    for ( ; numberCalc(num, guess==false); ){
        cin >> num;
    }
}

bool numberCalc(int num, bool guess){
    return guess = 1;
}

如果我有一个 for 循环,并且条件正在查看诸如 之类的方法numberCalc(num, guess),我如何在 for 循环中检查guess参数并忽略num

而且,假设我想比较例如num == 0guess == true我该如何布局?

for ( ; numberCalc(num == 1, guess==false) ;
4

3 回答 3

1

如果你想在 num=0 和 guess=false 时终止你的循环,你可以定义numbercalc为:

bool numberCalc(int num, bool guess){
return guess || num ;
}

或者更好地使用while循环

while(guess||num) { }
于 2013-09-07T13:49:20.600 回答
0

在你的功能

bool numberCalc(int num, bool guess){
return guess = 1;
}

最后return guess = 1;一行将 1 分配给guess,并返回该分配的结果,因此它始终返回 1。您应该将其更改为

return guess == 1;
于 2013-09-07T13:49:04.457 回答
0

如果你只对你感兴趣,guess你可以写:

bool numberCalc(int num, bool guess){
return guess == someValue; // value with you want to campair
}

如果您编写如下函数:

bool numberCalc(int num, bool guess){
    return guess = someValue; // value with you want to campair
    }

它将返回赋值操作的结果(这很可能总是为真)如果你想检查这两个条件,你可以这样写:

bool numberCalc(int num, bool guess){
return guess==someValue1 || num==someValue2 ;
}
于 2013-09-07T13:57:47.787 回答