我最近遇到了这个面试问题,我不擅长位操作。你们能解释一下函数'f'的作用吗?我不确定这个递归函数是做什么的。
unsigned int f (unsigned int a , unsigned int b)
{
return a ? f ( (a&b) << 1, a ^b) : b;
}
我试图将代码粘贴到 Visual Studio 中以测试逻辑,但编译器抛出一些错误消息“无法将类型 'uint' 隐式转换为'bool'。返回中的条件语句(a?)是否缺少某些东西?但我”我确定面试问题和上面提到的完全一样