【问题标题】:Why is my If statement being ignored in my For loop? [closed]为什么我的 If 语句在我的 For 循环中被忽略? [关闭]
【发布时间】:2020-06-17 01:04:35
【问题描述】:
#include <vector>
#include <iostream>

int main() {

  std::vector<int> nums = {2,4,3,6,1,9,7};

  double evenR = 0;
  double oddR = 0;

  for (int i = 0; i < nums.size(); i++ ) {

    evenR = nums[i]%2;
    std::cout << evenR;

    if (evenR = 0) {
        std::cout << "YAY";
        std::cout << nums[i] << " is even!";
    }

   }

}

在运行时,它会打印出 evenR,它的多次迭代等于“0”。所以我不知道为什么我的 if 语句拒绝运行?

【问题讨论】:

标签: c++ for-loop if-statement


【解决方案1】:

C++ 使用“==”来检查某事物是否等于其他事物。单个“=”是一个赋值。您将 evenR 分配给 0,而不是检查它。

【讨论】:

  • 准确地说,他正在分配它,然后检查它。分配的返回值等于分配的值,在这种情况下始终为 0,这就是为什么控制永远不会进入for 循环体的原因。如果他使用if(evenR=1),身体会总是运行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-26
  • 1970-01-01
  • 2023-02-15
相关资源
最近更新 更多