2015-11-08 64 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的应该有;不,