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

How does the %(modulus) operator in c works?

我正在尝试以下代码

printf("%d", 010 % 10);

我原以为它的输出是 0,但它是 8。

为什么?有什么方法可以获取作为输入的整数的最后一位。

C 或 C++ 中以零开头的任何数字文字都将被解释为 octal

所以你的计算是8模10,也就是8