FOR循环中的条件

时间:2013-09-07 13:38:32

标签: c++

这是我的代码。

#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 == 0和guess == true,我该怎么说呢?

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

谢谢!

3 个答案:

答案 0 :(得分:1)

在你的功能中

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

最后一行return guess = 1;确实将1分配给猜测,并返回该分配的结果。所以它总是返回1.您应该将其更改为

return guess == 1;

答案 1 :(得分:1)

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

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

或者更好地使用while循环

while(guess||num) { }

答案 2 :(得分: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 ;
}