我有一本相当新的《C程序设计语言(ANSI)》印刷版。 我的书总是像这样显示for循环:
int i;
for(i = 0; i < foo; i++)
但很多人(其中大多数人的编程技能比他们的小指还要强)会像这样编写他们的for循环:
(int i = 0; i < foo; i++)
如果我使用第一种方式编写循环,i
将会在整个函数中都可以访问,但如果我使用第二种方式,则无论我使用什么标准编译,i
只能在 for 循环内部访问。换句话说,如果我使用 c89
标准编译,两个 for 循环中的 i
都可以在整个函数中访问,如果我使用 c99
标准编译,第一个 for 循环中的 i
可以在整个函数中访问,而第二个 for 循环中的 i
只能在 for 循环内部访问。
i
的最终值来确定循环何时结束以及原因)。 - R.. GitHub STOP HELPING ICEgcc
和任何其他最新的编译器都应该包含TCs,尽管检查文档也没有坏处。 - Steve Jessopc11
。 - el.pescado - нет войне