c - 编写不使用 IF 或 :? 条件运算符的程序

标签 c

我想编写一个程序,如果第一个数字较大,则将第二个数字乘以 2;如果第二个数字较大,则将第一个数字除以 2。是否有其他方法可以在不使用循环或:的情况下执行此操作? ?

最佳答案

您可以使用可转换为 01 的 bool 表达式,并且当值为 0 时该表达式无效。

multiplies the second number by 2 if the first one was bigger

second = second + (first > second) * second;

and divides the first one by 2 if the second one was bigger.

first = first - (second > first) * (first / 2);

关于c - 编写不使用 IF 或 :? 条件运算符的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46753422/

相关文章:

c - 在 C 中传递二维数组,如 main 的 argv

c - C中检测int的逻辑

c - 组装:推 vs movl

c - 使用 pthreads 在结构中传递函数指针

c - 为什么 char* 数据类型的大小对应于计算机的字大小(4 字节或 8 字节),而 char 仅获取 1 字节?

c - memcpy(),size参数的值应该是多少?

c++ - 在多线程环境中什么会导致 "bad file descriptor"?

c - 每当我输入的金额超过 500 时,程序就会停止!如何修复它?

android - 从 android 应用程序运行 C 二进制文件 : particulare case

c - 为什么我的变量没有被保存?我一直在测试这段代码,但我的变量没有保存到我的结构数组中