我有以下C++代码:
if(x==y||m==n){
cout<<"Your message"<<endl;
}
如果x等于y或m等于n,程序会打印"Your message“。但如果这两个条件都为真,程序将只测试其中一个条件,并最终打印一条“您的消息”。
有没有一种方法可以使用一条if语句根据每个条件独立地打印每个"Your message"
?
如果使用多个if语句,输出将与以下内容相同。
if(x==y){
cout<<"Your message"<<endl;
}
if (m==n){
cout<<"Your message"<<endl;
}
发布于 2013-01-15 20:22:32
我不认为这是可能的。括号里的是真或假的陈述,没有真/真或真/假这样的东西。你可以做的是一个带有break语句的do/while循环。但我不认为这是一条正确的道路。为什么要避免两个if语句?
发布于 2013-01-15 20:27:57
单个"|“或"&”保证两侧的评估,即使结果可以由左侧运算符单独确定。
发布于 2013-01-15 20:26:10
你可以这样做,来构建“消息”:
string msg = "Your Message\n";
string buildSt = x == y ? m == n ? msg + msg : msg : m == n ? msg : "";
https://stackoverflow.com/questions/14346080
复制相似问题