我的循环是否因为input(0)返回False而中断?

时间:2017-03-20 11:27:40

标签: c++ parameters while-loop

我正在尝试为游戏编写代码,摇滚剪刀。

我最近刚刚学会了如何使用函数来获取用户输入并决定在此处尝试。

int getInput()
{
  int val;
  cin >> val; //only values from 0 to 2
  return val
}

int main() 
{
  int userChoice;
  while(userChoice = getInput()){//I get a warning here
   srand(time(NULL)); //always randon numbers
   int computer_choice = rand() % 3;
   switch(userChoice) {
      case:0
         //compare with computer_choice
         break;
      case:1
         //compare with computer_choice
         break;
      case:2
         //compare with computer_choice
         break;
    }
  }
}

现在,我有两个问题: 首先,使用userChoice = getInput()作为我的While循环练习的参数?我怀疑是因为我得到的警告是这样的:

  

建议用作真值的赋值括号

我相信这意味着,此参数返回true。使用while(true)直接产生无限循环。 我想让游戏继续进行,直到用户决定退出。我可以很容易地使用while(cin >> userChoice)但是就像我之前提到的那样,我希望应用我最近学到的东西,或者这只是直接使用while(cin >> userChoice)更实用的情况?

其次,当userChoice == 0但其他选择有效时,循环会中断。这是因为0返回false,因此while参数传递False值然后中断?

由于

0 个答案:

没有答案