A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© guobin_lu 中级黑马   /  2013-3-31 17:30  /  1604 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1.   static void Main(string[] args)
  2.         {
  3.             int i = 10;
  4.             if (i <= 0);
  5.             Console.WriteLine("i必须大于0");
  6.             Console.WriteLine("ok");
  7.             Console.ReadLine();
  8.         }
复制代码
为什么都输出了。

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

6 个回复

正序浏览
if (i <= 0);

相当于if(i<=0)
{

}
//循环体为空!
回复 使用道具 举报
if (i <= 0);
经常出现在笔试题中,这是一个障眼法,如果不仔细就会出错。
回复 使用道具 举报
本帖最后由 王鹏程 于 2013-3-31 18:51 编辑

如图改正如下:
也可以这样写:
int i = 10;
            if (i <= 0)
            {
                Console.WriteLine("i必须大于0");
            }
            Console.WriteLine("ok");
            Console.ReadLine();

1.jpg (23.18 KB, 下载次数: 41)

1.jpg

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 赵喜平 于 2013-3-31 18:17 编辑

{:soso_e100:}
回复 使用道具 举报
if表示条件判断语句,而你只有条件没有输出语句,所以if (i <= 0);这个不影响后面语句输出

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 杞文明 于 2013-4-1 10:04 编辑

解决办法:
去掉下面这句代码的分号:
if (i <= 0);

原因:
if语句遇到分号,表示条件判断结束,后面的代码不受if语句的影响了。

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马