代码无限循环不能只打印一次

code infinite loop cannot print only once

本文关键字:一次 打印 无限循环 不能 代码      更新时间:2023-10-16

嗨,我有这个简单的代码,当我等于 2 时打印出书词

int i;
    for (i=0;i!=5;i++)
    {
        if(i=2)
        {
            cout  << "book";
        };
    }

我不知道为什么即使我将 i 限制为 5,这段代码总是循环。

如果我打印 i 之前,如果条件它打印这个

0book3book3book3book3book3book3book3book3book3book3boo....

我使用在线编译器来编译它。

有人知道如何解决这个问题吗?

if(i=2)

应该是

if(i==2)

经典错误

if(i=2) -->赋值运算符

if(i==2)-->比较。非常不同。

if(i=2)

相当于

i = 2;
if(i != 0)

你需要

if(i == 2)

是的,正如罗杰所说,你所做的是在 if 语句中做一个赋值而不是比较。

if(i=2) //assignment
if(i==2)//comparison

就个人而言,在将变量与原始整数等进行比较时,我喜欢执行以下操作:

if(2==i) //comparison no error
if(2=i) //attempt to assign to raw int :ERROR

指令

if(i=2)

平均值:将值 2 分配给 i 并检查 i!=0。

你必须做:

if(i==2) 

检查 i 是否等于值 2。

简单的语法。