我想知道,当一个int以零开始时会发生什么?
int main() {
int myint = 01001;
cout << myint;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
为什么输出:
513
Run Code Online (Sandbox Code Playgroud)
我试过几个编译器.
小智 7
然后将整数视为八进制数.所以,
01001
Run Code Online (Sandbox Code Playgroud)
等于
1 * 8 ^ 0 + 0 * 8 ^ 1 + 0 * 8 ^ 2 + 1 * 8 ^ 3 = 1 + 0 + 0 + 512 = 513
Run Code Online (Sandbox Code Playgroud)
那里没有魔法.
| 归档时间: |
|
| 查看次数: |
112 次 |
| 最近记录: |