我想知道如何减少逻辑运算代码。
int a;
cin >> a;
if( a == 1 || a == 3 || a == 5)
printf("%d", a);
像这样修改上面的代码
int a;
cin >> a;
if(a == (1 || 3 || 5) )
printf("%d", a)
但是如您所知,它不起作用。
如何将该代码更改为更简单的形式?
最佳答案
我在@Beta上-您已经拥有最简单的表格。但是,如果添加更多“匹配”值,则可能会发现switch语句提供了更易于维护的结构:
int a;
cin >> a;
switch ( a )
{
case 1:
case 3:
case 5:
printf("%d", a);
break;
default:
// do nothing - not needed, but good habit
}
还有许多其他方法可以完成此操作-例如,您可以在
a
中查找set
的成员身份(请参见this answer)。每个人都有其自己的优点,并且适合您的实际问题-“简单”是一个相对术语。关于c++ - 逻辑运算:我想轻松进行逻辑运算,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32878241/