gpt4 book ai didi

c - C 中的 For 循环;但没有任何花括号

转载 作者:行者123 更新时间:2023-11-30 20:06:15 25 4
gpt4 key购买 nike

我在 Google 上搜索过这个,但显然有 For 和 C 这个词,所以出现了很多不相关的搜索。

我刚刚开始阅读《C 编程语言 - 第二版》,但有一个部分让我感到困惑。 For 循环。在大多数其他主要语言(Python 除外)中,For 循环将在 (init;condition;increment) 之后用大括号嵌套,但在本示例中没有:

for (fahr = 0; fahr <= 300; fahr = fahr + 20)
printf("%3d %6.1f\n", fahr, (5.0/9.0)*(fahr-32));

这是因为这本书太旧了,因此语法可能与现在不同吗?如果没有,有人可以向我解释一下吗?

最佳答案

你一定读得很快。

我相当确定这本书解释了一个语句可以是简单的,在这种情况下它只是一个由 ; 终止的单个语句,也可以是复合的,在这种情况下它是由 括起来的语句列表{}

for 循环的主体是一条语句,因此可以是简单的也可以是复合的。

当然,上面的措辞是递归的,这是故意的。这是完全有效的:

for(fahr = 0; fahr <= 300; fahr += 20)
{
printf("%d", fahr);
{
printf(" %6.1f", (5.0 / 9.0) * (fahr - 32));
{
printf("\n");
}
}
}

这当然是编写这个非常简单的循环的一种完全烦人且毫无意义的方式,但它说明了只要有语句,就可以有复合语句。如果您想要一个“更本地化”的变量,这有时会很方便,尤其是在 C99 之前的语言版本中。

关于c - C 中的 For 循环;但没有任何花括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26139617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com