注册 登录
编程论坛 C++教室

关于条件的问题的疑惑!

lixang 发布于 2007-02-15 10:23, 604 次点击
有这么一个语句:
if(y==head||x!=0||Z==Compare(a,b))
{ cout<<"调用了if语句"; }

else //我想给这个else添加一个正确的条件
{ cout<<"调用了else语句"; }

但我不能确定下面哪个是正确的,请各位朋友指点:

if(y==head||x!=0||Z==Compare(a,b))
{ cout<<"调用了if语句"; }

else if (y!=head&&x==0&&Z!=Compare(a,b))
{ cout<<"调用了else语句"; }

else if (y!=head||x==0||Z!=Compare(a,b))
{ cout<<"调用了else语句"; }
8 回复
#2
xu20002007-02-15 10:30
不明白你要干什么,与if相反的条件吗
直接用 !(y==head||x!=0||Z==Compare(a,b)) 不就行了。
#3
lixang2007-02-15 11:54

我的意思是显式的将原来的else改为else if(条件)
要到达输出:"调用了else语句";的目的 。

if(y==head||x!=0||Z==Compare(a,b))
{ cout<<"调用了if语句"; }

else
{ cout<<"调用了else语句"; }
————————————————————————
第一次修改后:

if(y==head||x!=0||Z==Compare(a,b))
{ cout<<"调用了if语句"; }

else if (y!=head&&x==0&&Z!=Compare(a,b))//这个条件对呢?
{ cout<<"调用了else语句"; }

——————————————————————
第二次修改后:

if(y==head||x!=0||Z==Compare(a,b))
{ cout<<"调用了if语句"; }

else if (y!=head||x==0||Z!=Compare(a,b))//还是这个条件对呢?
{ cout<<"调用了else语句"; }

#4
xvholly2007-02-16 21:20
按照高中数学知识,我想应该是蓝色的对
因为取的逆否条件
#5
lixang2007-02-19 11:58
因为没发正确测试:
所以我也不知道哪个对!
#6
dick_zq0072007-03-13 17:00

加个!不就行了啊~~2楼那样就行了

#7
lixang2007-03-13 18:32
加个!
当然在大多数情况下可用!
但也是在大都数下因为写不出
我上面要求的条件:(当然我也暂时糊涂)
所以,很是相当然!
对自己程序要求太不严格了!
碰到突然的问题!
也就傻眼了!
我觉得无论如何我暂时是不回隐瞒自己的不知的!
所以我暂时不回使用“!”
还是希望指教他人!
#8
yuyunliuhen2007-03-13 19:48


if(y==head||x!=0||Z==Compare(a,b))
{ cout<<"调用了if语句"; }

else if (y!=head||x==0||Z!=Compare(a,b))//还是这个条件对呢?
{ cout<<"调用了else语句"; }

按你的说法应该是这个对的
if(...)//condition
{...
}

else {
}

//如果if的条件不符合的话(也就是三个条件都不符合,而除了这三个条件的其他情况都将会包含在ELSE里面),它就会执行else语句的,那么,有必要写if(y!=head||x==0||Z!=Compare(a,b))语句吗?

#9
lixang2007-03-14 11:20
xiexie :
我再考虑考虑!
1