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. 的foreach循環,並聲明如果
- 3. 循環XSD 1.1聲明
- 4. Java - Alternate While循環聲明
- 5. 潛在的長循環並在裏面聲明變量
- 6. 在循環中聲明數組
- 7. VB:在For循環中聲明變量
- 8. C#,NUnit聲明在循環中
- 9. 殼for循環,在聲明停止
- 10. 在循環中聲明的變量
- 11. 在Java之前聲明清單循環
- 12. 如果聲明在Foreach循環中
- 13. 在循環中聲明一個指針
- 14. 聲明variablle在for循環內
- 15. ES6在循環之前或循環中聲明變量
- 16. 在循環內或循環外聲明對象
- 17. 聲明變量並且未在for循環中使用
- 18. 爲什麼在循環內聲明似乎比在Java中聲明外部循環更快?
- 19. 對於循環變量聲明
- 20. 求解循環協議聲明
- 21. 的Python循環控制變量聲明
- 22. OpenMP - for循環中的變量聲明
- 23. 由for循環切換case聲明?
- 24. for循環中的C++聲明變量
- 25. 循環包含和前向聲明類
- 26. 使用循環聲明Mat類
- 27. KnockoutJS如果foreach循環內聲明
- 28. 行爲分號後循環聲明
- 29. 用Perl聲明變量循環
- 30. C:for循環int初始聲明
嘗試了這一點,將改變或許會需要更少的努力改變每一次比發表這個關於它的問題 – 2010-07-07 16:00:01
@Don:但如果你要使用一個硬標準的舊標準前編譯器(就像一些人看起來似的)會給出錯誤的答案。最好是問一下,或者看看標準,而不是相信你的特定編譯器的行爲。 – 2010-07-08 00:11:03