Obj中奇怪的mod行为.C

kod*_*dai 0 c objective-c modulus

我有以下代码:

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

所以我的表达式为-1%33.这应该给我32,但反过来给我3 ...我已经仔细检查了调试器中的值.有没有人有任何想法?

mip*_*adi 6

在C中,模数运算符不适用于负数.(它给出了余数,而不是像通常的名字那样进行模运算.)