c - Obj 中奇怪的 mod 行为。 C

标签 c objective-c modulus

我有以下代码:

NSInteger index1 = (stop.timeIndex - 1);  //This will be -1
index1 = index1 % [stop.schedule count];  // [stop.schedule count] = 33

所以我有表达式 -1 % 33。这应该给我 32,但给了我 3...我已经在调试器中仔细检查了这些值。有人有什么想法吗?

最佳答案

在 C 中,取模运算符不适用于负数。 (它给出了余数,而不是像它的通用名称所暗示的那样进行模运算。)

关于c - Obj 中奇怪的 mod 行为。 C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3418053/

相关文章:

c++ - 打印数字金字塔图案的困难

ios - 核心数据 : how to organize contacts (entity) into sections based on the first letter of their names?

objective-c - 向下滚动时 UITableView 崩溃

iphone - 如何让 UIButton 只响应触摸,不响应拖动

Python——如何强制枚举从 1 开始——或解决方法?

C-扫描字符串并将其分配给结构中的 char* ?

C 套接字 - 使用参数时无法访问网络

C:负数和余数背后的数学

java - 选择流的序列

c - 文件上次在 Windows 中打开的时间