模量特性-1%3(C++) < C++中的p> -1% 3=-1,为什么返回0?< /p>

模量特性-1%3(C++) < C++中的p> -1% 3=-1,为什么返回0?< /p>,c++,modulo,C++,Modulo,完整片段: size返回无符号整数类型,因此此计算通过将-1强制转换为无符号并执行无符号模运算来完成 将大小强制转换为有符号整数类型以获得正确的结果 if (currIndex < 0) { cout << currIndex << " % " << array.size() << endl; currIndex = currIndex % array.size();

完整片段:
size返回无符号整数类型,因此此计算通过将-1强制转换为无符号并执行无符号模运算来完成

将大小强制转换为有符号整数类型以获得正确的结果

if (currIndex < 0) {

            cout << currIndex << " % " << array.size() << endl;

            currIndex = currIndex % array.size();

            cout << currIndex << endl;
}
-1 % 3
0