我不是要优化任何东西,所以请不要告诉我,过早的优化是万恶之源.我试图解决一个问题,我找不到第三个解决方案.
问题是这样的:
if (x)
y = a;
else
y = b;
Run Code Online (Sandbox Code Playgroud)
x只能是0或1.如何在没有跳跃的情况下写出这个条件?
一种具有数据结构的解决方案是:
int temp[2] = {b, a};
y = temp[x];
Run Code Online (Sandbox Code Playgroud)
另一种算术解决方案是
y = x * a + (1 - x) * b;
Run Code Online (Sandbox Code Playgroud)
应该有第三个,一个逻辑解决方案.你知道它的样子吗?请用C解决.