标题:if else 的问题
只看楼主
yesbuy
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-4-16
 问题点数:0 回复次数:10 
if else 的问题
main()
{    int i,m;
    m=0;
  for(i=0;i<5;i++)
    { if(i<1) m+=1;
      else if(0<i<3) m+=10;
      else  m+=100;
                  }
        printf("m= %d\n",m);
         }
大家看看这个程序应该得多少啊 我感觉应该是221 但是结果是41  如果想得到1+10+10+100+100的效果应该怎么编
搜索更多相关主题的帖子: else int main 
2008-04-16 20:35
yesbuy
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-4-16
得分:0 
我觉得电脑执行的应该是1+10+10+10+10  可是为什么是这样那?i
=3的时候应该执行+100的啊
2008-04-16 20:41
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
得分:0 
程序代码:
main()
{
     int i,m;
     m=0;
     for(i=0;i<5;i++)
     {
            if(i<1)
                    m+=1;
            else if(0<i&&i<3)/*你的这个条件表达错了,改成这样就好了。*/
                    m+=10;
            else  m+=100;
     }
     printf("m= %d\n",m);

     getch();
}
2008-04-16 20:44
now
Rank: 1
来 自:广州
等 级:新手上路
帖 子:544
专家分:0
注 册:2007-11-9
得分:0 
if(0<i<3)//??这样写都可以?

GIS
Geographic Information System
你在哪里?——》你的坐标?
2008-04-16 20:48
yesbuy
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-4-16
得分:0 
回复 3# 的帖子
恩!的确是,好长时间不用了 忘了 不能连用 用一个并且就好了 谢谢三楼
2008-04-16 20:50
duxinjun123
Rank: 1
等 级:新手上路
帖 子:52
专家分:0
注 册:2007-7-6
得分:0 
我一开始也蒙了 呵呵
2008-04-16 22:37
duxinjun123
Rank: 1
等 级:新手上路
帖 子:52
专家分:0
注 册:2007-7-6
得分:0 
可是 怎么会得出那样的结果呢?
2008-04-16 22:38
mqh21364
Rank: 1
等 级:新手上路
帖 子:642
专家分:0
注 册:2008-2-28
得分:0 
3楼的结果是221。

前不见古人,后不见来者。念天地之悠悠,独怆然而涕下。
2008-04-17 09:29
心若止水
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2008-4-9
得分:0 
把else if(0<i<3)改为else if(i<3)就行了。结果是221。
而先前一个为什么是41呢?因为条件(0<i<3)是当成(i>0)来执行的,并且执行了4次,所以是41。[bc04]
2008-04-17 16:08
yt414204458
Rank: 2
等 级:论坛游民
帖 子:260
专家分:55
注 册:2008-3-1
得分:0 
回复 9# 的帖子
知道那样编不对,不过那样编了以后是怎么样执行啊 ,能不能给说的详细点啊?
2008-04-18 18:47



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-209455-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.217329 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved