为什么边续执行了二条语句?
本帖最后由 风之残月 于 2014-11-9 22:36 编辑如图:if() ,中()内为真时,执行其后的一条语句,为假时,执行 else 这条语句;
如图中,if(!a!=b),为真时,为什么执行了后面二条语句,而且后面的二条语句没在大括号中?
另一个图,我加一个大括号,认为应该是这样写更好些,可是二个的结果一样,求教{:1_1:}
本帖最后由 downloads 于 2014-10-9 15:09 编辑
if(a>b)
-----;
else
×××××××;
是组合命令;如果a>b为真(非零),执行if(a>b)与else之间命令;-----;
如果a>b为假(零)时,执行else之后的命令;×××××××;
只能选择其中之一语句执行:-----;或×××××××;语句;
不加{} if 判断的话 后面只会执行一句要执行多个语句 就要 加 {}
else 是 否则的意思 后面 不加{} 也只会执行一句、
if(a>b)
xxxxxx;
esle
xxxxxx;
但是
if(a>b)
xxxxxx;
xxxxxxxxx;
esle
xxxxxx;
xxxxxxxxxxx;
这样 就 执行一句 必须要加大括号 {} 。。。。。。 Angel丶L 发表于 2014-10-7 23:05
不加{} if 判断的话 后面只会执行一句要执行多个语句 就要 加 {}
else 是 否则的意思 后面 不加{} 也 ...
上图红圈里二句,没加括号;
但在IF 后面,却都执行了? haiouda 发表于 2014-10-8 10:13
上图红圈里二句,没加括号;
但在IF 后面,却都执行了?
那两个条件是互斥的,怎么可能都执行呢 helloworldsjbf 发表于 2014-10-8 10:38
那两个条件是互斥的,怎么可能都执行呢
从第一个扫过(为假),才能走到第二条;从这个意义上说,二条都执行了 haiouda 发表于 2014-10-8 11:07
从第一个扫过(为假),才能走到第二条;从这个意义上说,二条都执行了
IF else遵循就近原则 两种写法是一样的;
if() *****;
else******;
其实就相当于一条组合指令。每次只执行其中一个,可以认为是一行语句!
if 我这里运行了一下,没有问题,但是说实话,如果不是为了考试的话,没有必要去研究它,把代码写规范一点,不然说不定编译器什么时候就解析错误了 因为if语句遵循就近原则,if,else 语句只能执行后面一条语句,如果要执行多语句的话,必须加上大括号,所以你应该加上大括号,就会实现if语句的嵌套。希望能够帮到你!!! if()后的冒号去掉 :big
页:
[1]