【问题标题】:Terminal not reading a for-loop statement [duplicate]终端没有读取for循环语句[重复]
【发布时间】:2025-12-16 22:25:02
【问题描述】:

我在执行代码时失败了很多次,我认为这是我使用循环语句的逻辑,但是当我尝试这段代码时:

int main(){
    cout << "yo \n";
    for(int i; i < 5; i++){
        cout << "meh \n";
    }
}

我期待输出:

    yo
    meh
    meh
    meh
    meh
    meh

但令我失望的是,它只显示了

    yo

那么,这个简单的代码块有什么问题呢?

【问题讨论】:

  • 你没有初始化i

标签: c++


【解决方案1】:

因为i 未初始化。初始化i值,点赞

for(int i = 0; i < 5; i++)

uninitialized 变量来保存垃圾数据。所以,这是未定义的行为

【讨论】:

    【解决方案2】:

    它失败了很多次,因为使用未初始化的变量 i 是未定义的行为。在这种情况下,任何事情都可能发生。

    【讨论】:

      【解决方案3】:

      初始化 i 的值。i++ 正在尝试增加一个未初始化的变量。

      【讨论】: