C语言高手进来解释一下这道题!
来源:百度知道 编辑:UC知道 时间:2024/09/23 09:30:46
main()
{int i=010,j=10,k=0x10;
printf("%d%d%d\n",i,j,k);
}
为什么结果是 8 10 16 ,给解释一下,我是个刚学的新手!
{int i=010,j=10,k=0x10;
printf("%d%d%d\n",i,j,k);
}
为什么结果是 8 10 16 ,给解释一下,我是个刚学的新手!
int型 0开头的是8进制数
0x开头的是16进制数
而输出是以10进制输出
这个虽然是小问题,不过还是说下好啊!010是8进制数
0x10表示十六进制数, 而你用的是%d所以就要转换成十进制010(8)=8(10)括号里的数表示进制
0x10(16)=16(10)
您好!
这是由于您的输出由%d标记控制为十进制方式所致。
希望对您有所帮助!
基础哦!^_^可以自己试着改这个程序!
同意楼上
同意二楼的 他已经说的很清楚了