错误:测试区分性时需要左值作为赋值的左操作数

时间:2018-12-01 22:54:25

标签: c++ math operators lvalue

在c ++上,我想说的是,如果输入的数量可被20整除,则输出解决方案。但是,它说第二行的操作数必须在左侧。预先谢谢你!

  cin >> amountEntered;
  if (amountEntered / 20 = 0)
  {
    cout << amountEntered/20;
  }

这是c ++给出错误的原因:

main.cpp:16:28: error: lvalue required as left operand of assignment
       if (amountEntered / 20 = 0)
                                ^

另外,如果我试图说输入的金额是否不能被20整除,那是“ amountEntered / 20 == 0”吗?

1 个答案:

答案 0 :(得分:2)

=意味着赋值,这会导致错误,因为没有东西可以赋值。平等测试是==

此外,您在这里是整数运算。因此,任何小于20的值都将为0。因此,最好测试modulo

if (amountEntered % 20 == 0)