黑马程序员技术交流社区

标题: 这个输出结果?为什么呀 [打印本页]

作者: guobin_lu    时间: 2013-3-31 17:30
标题: 这个输出结果?为什么呀
  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.         }
复制代码
为什么都输出了。

作者: DWC_5101    时间: 2013-3-31 17:35
本帖最后由 杞文明 于 2013-4-1 10:04 编辑

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

原因:
if语句遇到分号,表示条件判断结束,后面的代码不受if语句的影响了。
作者: ↖落葉下♀媃媚    时间: 2013-3-31 17:42
if表示条件判断语句,而你只有条件没有输出语句,所以if (i <= 0);这个不影响后面语句输出
作者: 赵喜平    时间: 2013-3-31 18:11
本帖最后由 赵喜平 于 2013-3-31 18:17 编辑

{:soso_e100:}
作者: 王鹏程    时间: 2013-3-31 18:49
本帖最后由 王鹏程 于 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, 下载次数: 59)

1.jpg

作者: 张正强    时间: 2013-3-31 20:06
if (i <= 0);
经常出现在笔试题中,这是一个障眼法,如果不仔细就会出错。
作者: 郑丹丹1990    时间: 2013-3-31 20:45
if (i <= 0);

相当于if(i<=0)
{

}
//循环体为空!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2