我遇到了这段代码
for(; tail < len;tail++){
str[tail] = 0;
Run Code Online (Sandbox Code Playgroud)
为什么会有";" 就在"for("?之后?
当我拿出它时,它出现了一些错误.
这意味着没有初始化(它已经在之前的行上完成).
通常,for循环具有以下语法:
for (initialization; termination; increment) {
statement(s)
}
Run Code Online (Sandbox Code Playgroud)
所有三个表达式(初始化,终止和增量)都是可选的,但必须存在分号.您拥有的代码等同于以下while循环:
while (tail < len) {
str[tail] = 0;
tail++;
}
Run Code Online (Sandbox Code Playgroud)
查看缺少所有三个表达式的循环也很常见:
for (;;) {
// something
}
Run Code Online (Sandbox Code Playgroud)
这是一个无限循环,相当于:
while (true) {
// something
}
Run Code Online (Sandbox Code Playgroud)