小编Tog*_*ith的帖子

在 C99 的 for 循环体之外声明计数器有什么好处吗?

我熟悉 C++,最近决定学习 C。我所关注的教程经常写这样的 for 循环:

int i;

for (i = 0; i < 5; i++)
{
    printf("%d", i);
}
Run Code Online (Sandbox Code Playgroud)

您可以看到计数器 (i) 是在 for 循环体之外声明的。在用 C(和 C++)编写时,我写:

for (int i = 0; i < 5; i++)
{
    printf("%d", i);
}
Run Code Online (Sandbox Code Playgroud)

我对此进行了一些研究,似乎后者在 C89 中是非法的,并且仅在 C99 中引入。但是,我使用的教程是基于 C99 的,而且我还看到了很多现代 C 代码,其中计数器仍然在 for 循环体之外声明。

因此,我要问的问题是:在 C99 中在 for 循环体之外声明计数器有什么实际好处吗?换句话说,我应该怎么写?

注意:我已经看到有“类似的问题”,但他们中的大多数人都在问为什么在某些代码中在 for 循环体之外声明计数器,而不是是否有任何好处。话虽如此,有一个类似的问题正在询问好处,但它是在 C++ 中,我不确定这两种语言在这方面是否存在差异。

c for-loop c99 c89

1
推荐指数
1
解决办法
108
查看次数

标签 统计

c ×1

c89 ×1

c99 ×1

for-loop ×1