# include<stdio.h>
main()
{int a,b,c;
a=25;
b=025;
c=0*25;
printf("%d,%d,%d\n",a,b,c);
return 0;
}
结果为25,21,0但是我不知道为什么b是21
# include<stdio.h>
main()
{int a,b,c;
a=25;
b=025;
c=0*25;
printf("%d,%d,%d\n",a,b,c);
return 0;
}
结果为25,21,0但是我不知道为什么b是21
具体原因不太清楚,代码中b被赋值25的八进制,c被赋值25的16进制,但是输出来的结果与计算机计算的结果不一致。我猜测是编译器的运算方式不同导致结果不一样。
# include<stdio.h>
int main(void) {
int a, b, c;
a = 25;
b = 025;
c = 0x25;
printf("%d,%d,%d\n", a, b, c);
return 0;
}