2

我是一个新手,并在 c 和 php 中测试了以下代码。请告诉我为什么这段代码输出“10”。

for($i=0;$i<10;$i++);
{
    print $i;
}
4

8 回答 8

6

是的,但他问为什么要打印“10”。原因如下:

你的代码是:

<?php
for($i=0;$i<10;$i++);
{
print $i;
}
?>

这一行for($i=0;$i<10;$i++);是一个循环,它从 0 到 9 循环了 10 次。在每个数字之后,变量$i递增 ( $i++),所以在第一次循环之后,$i值为 1。在第十次迭代之后,它的值为 10。

之后你这样print $i;做它会正确打印数字 10。

但是现在,如果你去掉for循环后面的分号,那么for循环就有了下面的主体

{
print $i;
}

它会打印出来0123456789

于 2013-02-21T10:29:56.843 回答
4

消除;

for($i=0;$i<10;$i++);
                    ^

工作示例http://codepad.viper-7.com/SeVcbl

于 2013-02-21T10:24:09.777 回答
4

forSee Ther 在该循环之后是一个分号。所以 PHP 认为循环没有主体。所以 Theprint $i只执行一次

于 2013-02-21T10:24:40.220 回答
3

错误的代码

<?php
 for($i=0;$i<10;$i++)
 {
  print $i;
 }

?>

应该输出所有数字

于 2013-02-21T10:23:55.767 回答
2

for因为您声明中的分号。这会比您预期的更早结束该语句,并且该print语句不再是循环的一部分。

于 2013-02-21T10:24:36.927 回答
2

删除 for($i=0;$i<10;$i++); 后面的 ;(分号) 陈述。

于 2013-02-21T10:26:17.060 回答
2

去掉这一行中的分号,它会输出 1,2,3..9:

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

如果你不这样做,它将首先运行循环而不写任何东西,然后打印 $i,它在 for 循环中变成了 10。

于 2013-02-21T10:26:21.573 回答
0

for 循环旁边的分号 (;) 表示循环内容是空的,因此空内容在循环 ( for($i=0;$i<10;$i++);) 中执行了 10 次,并且对于每个循环,$i 的值都会递增,最终值 10 会打印为输出。

于 2013-02-26T04:31:07.427 回答