c - 有没有更好的方法来检查这两个变量而不是四个 ifs?

标签 c

必须有两个变量,例如 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;
}

最佳答案

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

return A + B * 2;
也就是说,当然,如果 AB值永远不会是 0 以外的任何东西或 1 .

关于c - 有没有更好的方法来检查这两个变量而不是四个 ifs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66590487/

相关文章:

c - ffmpeg录制h264直播流出错

c - vector 异常处理程序使用什么堆栈(Windows)?

c - 如何将此结构放入动态分配的空间中?

C 程序 Printf 函数显示 unsigned long long 类型的异常行为?

c - 返回结构数组

c - Eclipse Luna CDT(C 项目)上的“启动配置中未指定程序文件”

c - 发送 "cls"到 dos 导致异常

c - 我如何从源代码静态构建 GDB?

c - 以十六进制除以 10

c - 递增一个空指针