Q
声明,并在循环
10
A
回答
20
它在C++
有效的它是不是在C.
的原始版本合法的,但在C99被采纳为C的一部分(在一些C++特征进行排序的向后移植到C)
使用gcc
gcc -std=c99 <file>.c
该变量在for语句和循环语句中有效。如果这是一个块语句,那么它对整个块都有效。
for(int loop = 0; loop < 10; ++loop)
{
// loop valid in here aswell
}
// loop NOT valid here.
2
是,是的。但对于C,显然你的编译器需要处于C99模式。
18
是的,它在C++和C99中是合法的。
5
这是完全合法的,为此在C99或C++:
for(int i=0; i<max; ++i)
{
//some code
}
及其while
相当于是:
{
int i=0
while(i<max)
{
//some code
++i;
}
}
3
NOTE:事实上for(int i=0;i<somevalue;i++)
总是钻到我作为首选方式在c和C++中定义一个for循环。
只有在您的循环中只能访问“我”,您必须关心您使用的变量名称。如果你将“i”声明为循环外部的一个变量,并将它用于别的东西,那么当使用同一个变量作为循环计数器时,你将会导致一个问题。
例如:
int i = 10;
i = 10 + PI;
会当你打的for循环自动改变,并宣布我= 0
2
我能写简单的
是。
(将变量i是只在循环里访问?)
取决于编译器和它的版本。 AFAIK,在现代编译器中,我只能在循环内部访问。 一些较早的编译器允许我在循环之外访问。 有些编译器允许我在循环之外访问,并警告你有关非标准行为。(但我不确定),“我在循环之外”在VC98(Visual Studio 6,其中AFAIK,也有一个全局定义的“我”变量的地方这可能会导致一个非常有趣的行为)。我想认为(微软)编译器在2000年左右开始在某个地方开始.2003年开始打印“使用非标准扩展名”以便在循环外使用i,并且最终该功能完全消失。它不存在于visual studio 2008.
这可能是根据标准发生的,但目前我无法给出链接或引用。
0
如果使用可变出的圈这将是当你初始化它的内部循环
int i = 0;
for(int e = 0; e < 10; e++)
{
i = e;
}
现在,我珍惜每一次
相关问题
- 1. 声明变量外循环并在循环中使用它
- 2. 在声明中对循环
- 3. 的foreach循环,并声明如果
- 4. Java - Alternate While循环声明
- 5. 循环XSD 1.1声明
- 6. 用循环声明变量
- 7. 潜在的长循环并在里面声明变量
- 8. C#,NUnit声明在循环中
- 9. 在循环中声明一个指针
- 10. 声明2个变量在for()循环
- 11. 在foreach循环声明中使用LINQ
- 12. 在foreach循环块外继续声明
- 13. 在IF声明条件内循环
- 14. VB:在For循环中声明变量
- 15. 声明载体在for循环
- 16. 在循环中声明的变量
- 17. 在循环中声明数组
- 18. 在Java之前声明清单循环
- 19. 声明数组在一个循环中
- 20. 声明variablle在for循环内
- 21. 在foreach循环之外声明变量
- 22. 如果声明在Foreach循环中
- 23. 壳for循环,在声明停止
- 24. C#ForEach循环(字符串声明在循环中)
- 25. ES6在循环之前或循环中声明变量
- 26. 在循环内或循环外声明对象
- 27. 声明变量并且未在for循环中使用
- 28. 基于范围的循环声明必须声明变量
- 29. 为什么在循环内声明似乎比在Java中声明外部循环更快?
- 30. C:for循环int初始声明
尝试了这一点,将改变或许会需要更少的努力改变每一次比发表这个关于它的问题 – 2010-07-07 16:00:01
@Don:但如果你要使用一个硬标准的旧标准前编译器(就像一些人看起来似的)会给出错误的答案。最好是问一下,或者看看标准,而不是相信你的特定编译器的行为。 – 2010-07-08 00:11:03