我在执行代码时多次失败,我认为我的逻辑是如何使用循环语句,但是当我尝试这段代码时:
int main(){
cout << "yo \n";
for(int i; i < 5; i++){
cout << "meh \n";
}
}
我期待输出:
yo
meh
meh
meh
meh
meh
但令我失望的是,它只显示了
yo
那么,这个简单的代码块有什么问题?
答案 0 :(得分:3)
因为i
未初始化。初始化i
值,如
for(int i = 0; i < 5; i++)
uninitialized
变量用于保存垃圾数据。因此,这是未定义的行为。
答案 1 :(得分:1)
它失败多次,因为使用未初始化的变量i是未定义的行为。在这种情况下,任何事情都可能发生。
答案 2 :(得分:0)
初始化 i 的值。 i ++ 正在尝试增加未初始化的变量。