C++双for循环,第一个for循环没有大括号,怎么理解?

文章解释了C++中for循环是否需要大括号,以及在单行和多行语句情况下如何正确使用。强调了大括号在定义多条语句作为循环体的重要性,以防意外行为。
摘要由CSDN通过智能技术生成

C++双for循环,第一个for循环没有大括号,怎么理解?

在C++中,for循环后面不一定非要加大括号{}。如果没有加大括号,那么for循环后面紧跟着的那条语句将被视为循环体。这通常只适用于循环体只有一条语句的情况。

例如,下面的代码片段展示了一个没有使用大括号的for循环:

#include <iostream>

int main() {
    int arr[5] = {1, 2, 3, 4, 5};

    for (int i = 0; i < 5; ++i)
        std::cout << arr[i] << " ";

    std::cout << std::endl;

    return 0;
}

在这个例子中,std::cout << arr[i] << " "; 是for循环的唯一一条语句。由于没有使用大括号,这条语句会被反复执行5次,每次循环时i的值都会增加。

然而,如果你想要循环体包含多条语句,你就必须使用大括号来定义循环体的范围。例如:

#include <iostream>

int main() {
    int arr[5] = {1, 2, 3, 4, 5};

    for (int i = 0; i < 5; ++i) {
        std::cout << arr[i] << " ";
        // 这里可以添加更多的语句
    }

    std::cout << std::endl;

    return 0;
}

在这个例子中,大括号内的所有语句都会被视为for循环体的一部分,并且会随着循环的每次迭代而执行。

如果不小心遗漏了大括号,但你的意图是让多条语句都在循环体内执行,那么代码的行为将不会按照你的预期进行。例如:

#include <iostream>

int main() {
    int arr[5] = {1, 2, 3, 4, 5};

    for (int i = 0; i < 5; ++i)
        std::cout << arr[i] << " ";
        std::cout << "Extra output" << std::endl; // 错误!这行不在循环体内

    std::cout << std::endl;

    return 0;
}

在这个错误的例子中,你可能期望“Extra output”会在每次循环时都打印出来,但实际上它只会在循环结束后打印一次,因为它并不在for循环的大括号内,所以不被视为循环体的一部分。正确的做法是使用大括号来包含所有应该在循环体内执行的语句:

for (int i = 0; i < 5; ++i) {
    std::cout << arr[i] << " ";
    std::cout << "Extra output" << std::endl; // 正确!这行在循环体内
}
  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值