Oll*_*rst -2 compiler-construction assembly gcc objective-c
我有一种方法可以检查数字是偶数还是奇数的天气:
-(BOOL)numberIsEven:(unsigned int *)x {
if (x & 1)
{
return TRUE;
}
else
{
return FALSE;
}
}
Run Code Online (Sandbox Code Playgroud)
但是,每当我编译它时,我都会收到错误消息:
Invalid operands to binary %
Run Code Online (Sandbox Code Playgroud)
所以它作为模数函数编译到汇编中并且以某种方式失败,但是如果我使用基于模数的函数(可以说更慢),我会得到同样的错误!
帮我堆栈溢出
谢谢 - 奥利
x是一个指针。模运算符不适用于指针。
return (*x & 1);
Run Code Online (Sandbox Code Playgroud)
这将取消引用指针,然后返回模的结果(隐式转换为 BOOL)
| 归档时间: |
|
| 查看次数: |
18873 次 |
| 最近记录: |