首页 > 解决方案 > 有没有更好的方法来检查这两个变量而不是四个 ifs?

问题描述

必须有两个变量,例如 A 和 B,这两个变量取值 0 0、0 1、1 0 或 1 1。我需要检查这两个变量并返回 0 到 3 之间的值,有没有更好的这样做的方法比执行以下四个if语句:

if(B == 0 && A == 0){
  return 0;
}
if(B == 0 && A == 1){
  return 1;
}
if(B == 1 && A == 0){
  return 2;
}
if(B ==1 && A == 1){
  return 3;
}

标签: c

解决方案


您显示的四个条件可以用单行解决:

return A + B * 2;

也就是说,当然,如果AandB永远不会0是or以外的任何东西1


推荐阅读