LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1088|回复: 6

猥琐的题目

[复制链接]
发表于 2006-6-8 22:53:34 | 显示全部楼层 |阅读模式
<?php
  for ($i = 0; $i < 5; ++$i) {
      if ($i == 2)
          continue
      print "$i\n";
  }
?>

上面这个程序的输出是什么?
发表于 2006-6-8 23:17:51 | 显示全部楼层
不懂php,不过如果是c的话,输出应该是:
0
1
3
4
回复 支持 反对

使用道具 举报

发表于 2006-6-9 00:21:57 | 显示全部楼层
输出是 2
但为何是这样呢?没搞明白。
回复 支持 反对

使用道具 举报

发表于 2006-6-9 00:54:52 | 显示全部楼层
呵呵,猥琐,果然名副其实的猥琐~~~

<?php
for ($i = 0; $i < 5; ++$i) {
if ($i == 2)
  continue;
print "$i\n";
}
?>

<?php
for ($i = 0; $i < 5; ++$i) {
if ($i == 2)
  continue
print "$i\n";
}
?>

大家要认真看手册哈~~~~!!!!
回复 支持 反对

使用道具 举报

发表于 2006-6-9 02:42:49 | 显示全部楼层
:-(,以后是要仔细了,呵呵。。。
回复 支持 反对

使用道具 举报

发表于 2006-6-9 10:55:44 | 显示全部楼层
还是没弄明白:
continue
print "$i\n";
和:
continue;
print "$i\n";

哪位能从语法的角度解释一下吗?
回复 支持 反对

使用道具 举报

发表于 2006-6-9 11:58:35 | 显示全部楼层
continue; // 后面有分号,这是一个完整的语句;如果i==2, 继续循环;

continue
print "$i\n"; // continue后面没有分号,所以这两行是一句话,相当于:

if ($i == 2)
  continue print "$i\n"; // 如果i==2, 打印 i,然后继续循环;
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表