这是我的代码。
#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) ;_
谢谢!
答案 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 ;
}