c++ - 模运算符给出带有前导零的不同结果

标签 c++ modulo

<分区>

为什么:

int test() {
    return 00101 % 10;
}

返回 5,同时:

int test() {
    return 101 % 10;
}

返回1?我想不出一个解释。

最佳答案

0开头的整数字面值,例如

00101

实际上是一个八进制常数。

关于c++ - 模运算符给出带有前导零的不同结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26065122/

相关文章:

c++ - 在内核函数中创建对象时发生 CUDA 内存访问冲突

c++ - SIMD 指令缺少 OpenMP if 子句

c++ - 在 Qt 中运行一个定时器 5 秒

c++ - g++ v 3.4.4-999 中的 unordered_map::emplace 错误

c# - 模运算符 (%) 在 C# 中针对不同的 .NET 版本给出不同的结果

javascript - 如何对表行和列结构使用模运算符?

c - 如何计算给定系列的总和

c# - 模数运算如何与 float 数据类型一起使用?

c++ - if-else 语句中的 "equal to"与 "not equal to"运算符

dataframe - 如何在 Julia 中对 DateTime 或 Time 类型进行取模?