| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2575 人关注过本帖
标题:if 嵌套
只看楼主 加入收藏
沙龙0
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2012-7-12
结帖率:83.33%
收藏
 问题点数:0 回复次数:9 
if 嵌套
#include <stdio.h>
main()
{ int a=1,b=0;
if(!a) b++;
else if (a==0) if(a) b+=2;
else b+=3;
printf("%d",b);
}             结果为什么是0 求解释
搜索更多相关主题的帖子: include 
2012-09-11 19:43
IT飞飞
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2012-9-8
收藏
得分:0 
因为你定义的 b=0;下面的不行影响B  就和形参的改变不能改变实参一样
2012-09-11 19:50
巴布亚
Rank: 1
等 级:新手上路
帖 子:8
专家分:8
注 册:2012-9-1
收藏
得分:0 
因为在if判断中没有一个是符合的,b压根就没被操作。。b值当然就没改变
2012-09-11 20:24
justNPC
Rank: 5Rank: 5
等 级:职业侠客
帖 子:101
专家分:311
注 册:2012-8-11
收藏
得分:0 
程序代码:
#include <stdio.h>

 main()

 { 
     int a=1,b=0;
     if(!a) b++; 
     else if (a==0)
          {
               if(a) b+=2;
               else  b+=3//else是跟最近未配对的if 配对的
           };               
     printf("%d",b);

 }           

写成这样明白了?
2012-09-11 22:09
雪寒江
Rank: 2
等 级:论坛游民
帖 子:9
专家分:16
注 册:2012-9-11
收藏
得分:0 
写代码时,建议写的有点层次感,方便看。。。
2012-09-12 00:28
秋小米
Rank: 2
等 级:论坛游民
帖 子:21
专家分:33
注 册:2012-9-9
收藏
得分:0 
程序代码:
#include <stdio.h>

int main(void)
{
    int a=1,b=0;
   
    if(!a)    //这一步!a的值为false  第一步
        b++;
    else if (a==0) //a==1 a!=0  跳出if语句  第二步
            if(a)
                b+=2;
            else
                b+=3;
       
    printf("%d",b); //b未进行任何运算直接输出 第三步
}      
2012-09-12 10:12
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
收藏
得分:0 
首先这个条件语句的格式是没问题的,
这是一个典型的条件语句1 if , 2 else if ,3 else
1是假,2也是一个假,3应该是除1 2之外的条件,即除(!a ,a===0)以外的条件。好象要执行3才对。可这里有一个逻辑问题。主要是1是假,2按理是除1假之外的条件,也就是真,此时真是也不执行B,也就是说,真和假都不执行b,当然也就没有其他else了,故程序根本不执行3。这就是 b还是为0的理由。大家说是不是?请到电脑上调试。

www.qunxingw.wang
2012-09-12 20:23
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
收藏
得分:0 
非常不好意思,我以上的理解是错误的,不是3没有执行,是包含在2里了,此格式为if ,else if格式。应该是4楼的理解方式。当把2中 if(a)去掉后,发现2是假,因此证明 2,3是一个整体部分。

www.qunxingw.wang
2012-09-13 01:12
胡振杰
Rank: 2
等 级:论坛游民
帖 子:41
专家分:63
注 册:2012-9-14
收藏
得分:0 
加油!
2012-09-15 00:08
wuchunxu
Rank: 1
等 级:新手上路
帖 子:3
专家分:2
注 册:2012-9-15
收藏
得分:0 
希望能注意点风格,看着头痛。加油
2012-09-15 20:25
快速回复:if 嵌套
数据加载中...
 
   



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

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