作者LPH66 ((short)(-15074))
看板C_and_CPP
标题Re: [问题] 新手问一个巢状if else if的问题
时间Thu Mar 5 03:24:12 2009
※ 引述《SUPERSUGO (sugo)》之铭言:
: 最近在分析一个物理问题,需要用到很多条件判断
: 所以想用巢状if else if来分析
: 写一下我的想法
: if(判断条件一) {
: 通过第一个if之後接下来是我想问的
: 如果我有四个判断条件,若是满足其中一个再进入到下一个if判断条件
: 要怎麽写好呢? 我之前是这样写
: if( ( ( (判断条件二) || (判断条件三) ) || (判断条件四) ) || (判断条件五) ){
: 这样写有错吗??只是这样写都会写很长,我想改成用四行if else if写
: if(判断条件二){
: }
: esle if(判断条件三){
: }
: esle if(判断条件四){
: }
: esle if(判断条件五){
: 满足上面四个其中一个 再进到下一个if
: if{
: .
: .
: .
: 这样有错吗?! 用C++一阵子,觉得语法问题错还比较好解决,在编译时就会知道有问题
: 偏偏编译时没出错,只是结果常跟想的不一样
: 不然就是就是得到结果很怪,不知道对不对
: 就会开始怀疑是程式写错还是结果真的这麽怪 囧
第一个没什麽问题
第二个的话你需要把内层的 if 写好几次 不推荐
基本上C语言在这方面还满松的
|| 可以长连 (就是你可以写 A || B || C || D ) 加上一条式子不一定要写在一行内
所以那个大if你可以写成
if ( (条件二) ||
(条件三) ||
(条件四) ||
(条件五) )
{
//里面的条件
}
这样既清楚又容易检查有没有问题
善用换行和排版就可以让code写起来方便读也方便
--
'Oh, Harry, dont't you
see?' Hermione breathed. 'If she could have done
one thing to make
absolutely sure that every single person in this school
will read your interview, it was
banning it!'
---'Harry Potter and the order of the phoenix', P513
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.30.84
1F:推 SUPERSUGO:喔喔!!感谢回答! 03/05 03:30