2015-11-08 61 views
-3

我有一個簡單的問題。我做的任務,但我沒有研究過for循環太多,所以我有一個問題,關於它的For Loop初始化

c1=6; 
for (i=0; i<7 ; i++) 
    { 
    for (x=0, x<c1 ,x++) 
     { 
     cout<<"*"; 
     } 
    x=0; 
    c1--; 
    } 


c1=6; 
    for (i=0; i<7 ; i++) 
     { 
     for (x=0, x<c1 ,x++) 
      { 
      cout<<"*"; 
      } 
     c1--; 
     } 

這些都是不同的代碼,一個有x = 0的其他犯規.. 確實爲循環自動初始化x值來0每次開始之前? 我需要這個x = 0 for循環是或否? (P.s我研究while循環很多,我們需要它在while循環中)

+0

如果你在for循環中沒有'x = 0',沒有人會爲你神奇地設置它。 –

+0

這段代碼是否編譯? –

+0

@EdHeal我猜測**是爲了強調而不是代碼的一部分。 –

回答

2

不,您不需要在代碼中重新初始化x = 0。這就是for循環中x = 0的用途。 for循環會自動將x初始化爲您在啓動時設置的值。

+0

非常感謝:-) – user5510594

3

讓我們簡單for循環,就像你有一個:

for (i=0; i<7; i++) 
{ 
    // statements... 
} 

這等同於以下代碼:

{ 
    i=0; 
    while (i<7) 
    { 
     // statements... 
     i++; 
    } 
} 

這是所有for循環。

所以要回答你的問題:初始化完成之前for迴路總是

+1

這些逗號應該是分號嗎? –

0

語句在for循環之前初始化後進行。它們放在for循環的內部。

1

是的,你確實需要你的for循環中的x。 x在你的for循環中被初始化。 for循環語句由3部分組成,變量初始化;你的狀況;並更新你的變量。你會得到一個錯誤。

for (var initialization; condition; var update) 
{ 
    //code..... 
} 

while循環和for循環while循環您在while循環之前,初始化變量並更新循環它自身內的變量之間的區別。

x = 0 
while (x < 5) 
{ 
    x++ 
} 

A for循環,它都包含在for語句中。

for (int x = 0; x < 5; x++) 
{ 
    //code... 
} 

因此,在第二個for循環語句中,x已經在for語句中初始化爲0。

你的for循環與x的應該有;不,