以下はC++ のコードです。Python のようなものを試すと-2%5
、結果は正の 3 になりますが、c++ C# ( code ) やフラッシュなどの他の多くの言語では -2が返されます。
なぜ彼らは-2を与え、一方のバージョンが他方よりも正しいのですか?
#include <cstdio>
int main(){
printf("%d\n", 2%5);
printf("%d\n", -2%5);
printf("%d\n", -2%77);
printf("%d\n", 2%-77);
printf("%d\n", -2%-77);
}
出力:
2
-2
-2
2
-2