为什么这个程序输出“10”?

时间:2013-02-21 10:22:14

标签: php

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

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

8 个答案:

答案 0 :(得分:6)

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

您的代码是:

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

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

之后,您执行$i,以便正确打印数字10.

但是现在,如果你在for循环后删除分号,那么for循环有一个跟随主体

print $i;

,它将打印{ print $i; }

答案 1 :(得分:4)

删除;

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

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

答案 2 :(得分:4)

请参阅for循环后有一个分号。所以PHP认为循环没有主体。所以print $i只执行一次

答案 3 :(得分:3)

错误的代码;

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

&GT;

应输出所有数字

答案 4 :(得分:2)

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

答案 5 :(得分:2)

删除for之后的;(分号)($ i = 0; $ i&lt; 10; $ i ++);言。

答案 6 :(得分:2)

删除此行中的分号,它将输出1,2,3..9:

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

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

答案 7 :(得分:0)

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