c中的%(模)运算符如何工作?

Bri*_*shi 0 c modulus

我正在尝试以下代码

printf("%d", 010 % 10);
Run Code Online (Sandbox Code Playgroud)

我期望它的输出是0,但它是8。

为什么?

Pet*_*3rd 5

c或c ++中以零开头的任何数字文字都将被解释为八进制

因此您的计算是8模10,即8