| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 948 人关注过本帖
标题:这个if语句怎么理解
只看楼主 加入收藏
kinghtend
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2017-3-7
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
这个if语句怎么理解
int a=0;
if(1) a=3;
if(0) a=4;
else a=5;
      答案是 5
int a = 0;
if(1){
     a=3;
     if(0) a=4;
}
else a = 5;
       答案是 3


为什么   谢谢了
2017-03-07 14:05
kinghtend
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2017-3-7
收藏
得分:0 
???、没有人ma
2017-03-07 14:20
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:10 
以下是引用kinghtend在2017-3-7 14:20:23的发言:

???、没有人ma

没法回答,我问你为什么1+1=2,你也回答不出来。
a=5 后为什么 a等于5?
a=3 后为什么 a等于3?
只能说这是C语法的规定。
2017-03-07 14:26
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10551
专家分:42996
注 册:2014-5-20
收藏
得分:10 
以下是引用kinghtend在2017-3-7 14:05:54的发言:
int a=0;
if(1) a=3;  执行 =3
if(0) a=4;  不执行
else a=5;   执行 =5
      答案是 5  答对
int a = 0;
if(1){
     a=3;  执行 =3        
     if(0) a=4; 不执行
}
else a = 5;  不执行
       答案是 3 答对

2017-03-07 14:55
ai你
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2017-3-21
收藏
得分:0 
首先要知道非零正数为真
比如1,2,3。。。
零为假
再来看代码
int a=0;--------这是一条真语句,没毛病
if(1) a=3;---------(1)表示条件为真    3赋给a
----------------------------------------------------------------
if(0) a=4;----------(0)表示条件为假    4赋给a
else a=5;-----否则(即条件为真  )    5赋给a
所以      最后结果是5(因为a=3被5取代了)
你这样看!
int a=0;
if(1) a=3;
printf("%d",a);
if(0) a=4;
else a=5;
printf("%d",a);看下就能够明白的
2017-03-21 16:56
南山浅悠然
Rank: 2
等 级:论坛游民
威 望:1
帖 子:53
专家分:92
注 册:2014-5-21
收藏
得分:0 
1.if..else在不用花括号的情况下else与最近的if结合
2.在C中0代表假,非零代表真,if以真开始执行,反之不执行

建议楼主多加测试程序,可用注释符号与printf,来屏蔽语句,显示值的变化,来锻炼自己的能力更好。加油。。
2017-03-21 18:24
快速回复:这个if语句怎么理解
数据加载中...
 
   



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

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