2012-09-06 50 views

回答

7

这意味着没有初始化(它已经在以前的线来完成)。

一般而言,for loop的语法如下:

for (initialization; termination; increment) { 
    statement(s) 
} 

所有三个表达式(初始化,终止和增量)是可选的,但是分号必须存在你的代码等同于以下,而循环:

while (tail < len) { 
    str[tail] = 0; 
    tail++; 
} 

它也经常可以看到for循环,所有三个表达式缺少:

for (;;) { 
    // something 
} 

这是一个无限循环,并等价于:

while (true) { 
    // something 
} 
+0

啊啊啊!谢谢! – user1292548

0

这意味着你不会初始化任何东西。通常情况下,它像

for(i=1;i<something;i++) 

在你的情况部分i=1(初始化)被省略这是完全正确的。但是,必须用分号分隔初始化部分和for循环的条件部分。

1

常规for循环的语法是for (initialization; termination; increment)。正因为如此,所有三个组件必须预先设置for循环才能生效并编译。

0

尾部必须在代码上方for的某个位置初始化。 这不是一个语法错误,它只是一个没有初始化的情况。

0

for循环定义意味着可变tail先前已被宣布(希望initalsed)

1

一种用于环有三个部分:其中

for (initialization; condition; update) 

的任何区段的可能省略。

在你的例子中没有初始化部分(假设taillen已经设置为合理值)。

1

for循环有三个参数里面的括号:

第一是启动块,在那里你创建的for循环的范围中,只有活变量(从开到右括号或在您的情况为for循环之后的那一行);

第二个是条件块,其中指定在其下的循环应该运行

三分之一的条件后处理模块,在每个迭代循环后会发生什么。

这些块用分号分隔,每一个都是可选的。

通常你有

for(int i=0; i<10; i++); 

但你可以有

int i =0; 
for(; i<10; i++); 

你甚至可以有一个这样的循环:

for(;;); 
0
for(initialize the variable; condition to variable;increment in variable); 

for (;condition;increment); 

意味着就没有初始化这里。

0

这是因为你有循环语法

int tail; 

为(尾= 0;尾部< LEN;尾++)
{
STR [尾巴] = 0; }

第一个参数是初始值设定项,所以如果你已经初始化了变量,那么你应该保留空的初始值设定空间,并用分号代替。