首页 > 解决方案 > for循环中的多个条件在c ++中不起作用

问题描述

我正在尝试打印所有出现的偶数,最多为 20。代码在 if 条件下工作正常,但不能在循环中处理多个条件。

#include<iostream>
using namespace std;
int main() {
    for(int i = 1; ((i <= 20) && (i % 2 == 0)); i ++) 
        cout << i << endl;
}

标签: c++

解决方案


你混淆了两个不同的事情,当你想要你的循环停止,当你想要打印一个数字。

在您编写的代码中,您已将“何时要打印数字”条件放在您应该只拥有“何时您希望循环停止”条件的地方。因此,一旦您获得奇数,您的循环就会停止。

你的代码应该是

for (int i = 1; i <= 20; i ++) 
    if (i % 2 == 0)
       cout << i << endl;

推荐阅读