鱼C论坛

 找回密码
 立即注册
查看: 2304|回复: 14

为什么边续执行了二条语句?

[复制链接]
发表于 2014-10-7 21:51:45 | 显示全部楼层 |阅读模式
5鱼币
本帖最后由 风之残月 于 2014-11-9 22:36 编辑

如图:if() ,中()内为真时,执行其后的一条语句,为假时,执行 else 这条语句;
如图中,if(!a!=b),为真时,为什么执行了后面二条语句,而且后面的二条语句没在大括号中?
另一个图,我加一个大括号,认为应该是这样写更好些,可是二个的结果一样,求教{:1_1:}
QQ图片20141007214903.jpg

最佳答案

查看完整内容

if(a>b) -----; else ×××××××; 是组合命令;如果a>b为真(非零),执行if(a>b)与else之间命令;-----; 如果a>b为假(零)时,执行else之后的命令;×××××××; 只能选择其中之一语句执行:-----;或×××××××;语句;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-10-7 21:51:46 | 显示全部楼层
本帖最后由 downloads 于 2014-10-9 15:09 编辑

if(a>b)
-----;
else
×××××××;

是组合命令;如果a>b为真(非零),执行if(a>b)与else之间命令;-----;

                  如果a>b为假(零)时,执行else之后的命令;×××××××;

只能选择其中之一语句执行:-----;或×××××××;语句;

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-10-7 23:05:38 | 显示全部楼层
不加{} if 判断的话 后面只会执行一句  要执行多个语句 就要 加 {}

else 是 否则的意思 后面 不加{} 也只会执行一句、
if(a>b)
xxxxxx;
esle
xxxxxx;
但是
if(a>b)
xxxxxx;
xxxxxxxxx;
esle
xxxxxx;
xxxxxxxxxxx;

这样 就 执行一句 必须要加大括号 {}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-10-8 10:05:28 | 显示全部楼层
。。。。。。

评分

参与人数 1荣誉 -6 鱼币 -6 收起 理由
Angel丶L -6 -6 看到你了哦

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-10-8 10:13:50 | 显示全部楼层
Angel丶L 发表于 2014-10-7 23:05
不加{} if 判断的话 后面只会执行一句  要执行多个语句 就要 加 {}

else 是 否则的意思 后面 不加{} 也 ...

上图红圈里二句,没加括号;
但在IF 后面,却都执行了?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-10-8 10:38:49 | 显示全部楼层
haiouda 发表于 2014-10-8 10:13
上图红圈里二句,没加括号;
但在IF 后面,却都执行了?

那两个条件是互斥的,怎么可能都执行呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-10-8 11:07:23 | 显示全部楼层
helloworldsjbf 发表于 2014-10-8 10:38
那两个条件是互斥的,怎么可能都执行呢

从第一个扫过(为假),才能走到第二条;从这个意义上说,二条都执行了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-10-8 11:10:34 | 显示全部楼层
haiouda 发表于 2014-10-8 11:07
从第一个扫过(为假),才能走到第二条;从这个意义上说,二条都执行了

IF   else  遵循就近原则
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-10-8 11:53:47 | 显示全部楼层
两种写法是一样的;
if() *****;
else  ******;
其实就相当于一条组合指令。每次只执行其中一个,可以认为是一行语句!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-10-8 12:56:56 From FishC Mobile | 显示全部楼层
if
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-10-8 22:39:26 | 显示全部楼层
我这里运行了一下,没有问题,但是说实话,如果不是为了考试的话,没有必要去研究它,把代码写规范一点,不然说不定编译器什么时候就解析错误了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-10-11 09:47:11 | 显示全部楼层
因为if语句遵循就近原则,if,else 语句只能执行后面一条语句,如果要执行多语句的话,必须加上大括号,所以你应该加上大括号,就会实现if语句的嵌套。希望能够帮到你!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-10-12 09:17:58 | 显示全部楼层
if()后的冒号去掉
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-10-14 09:32:41 | 显示全部楼层
:big
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

头像被屏蔽
发表于 2014-10-31 23:41:11 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-25 05:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表