在下面的代码中,变量' b'持有价值' 133'这很直截了当。如何变量' a' ?为什么' 131' ?
我看到唯一的区别是' 015'而不是' 15'。
#include<stdio.h>
int main()
{
int a,b,c;
a=015 + 0x71 +5;
printf("%d\n",a); // prints '131'
b=15 + 0x71 +5;
printf("%d\n",b); // prints '133'
}
有人能让我知道这里发生了什么吗?
答案 0 :(得分:7)
前导零表示该数字以八进制表示。八进制中的015是十进制表示法中的13。
octal-literal是数字零(0),后跟零个或多个八进制数字(0,1,2,3,4,5,6,7)
(来自cppreference)
答案 1 :(得分:3)
onChangeTest: function() {
$(document).ready(() => {
var _widthValue = document.getElementById(this.inputid).value;
});
}
实际上是八进制数系统表示的指示符,所以
015
表示015
所以
1x8^1 + 5*8^0 = 13
严格来说意味着 a=015 + 0x71 +5;