c语言 输入一个8进制数,这是一个编码值,然后显示输入的数值,和他的字符

c语言 输入一个8进制数,这是一个编码值,然后显示输入的数值,和他的字符。
这个程序我已经写好,但发现一些问题。
程序:
#include<stdio.h>
#include<conio.h>
int main(void)
{
int d;
printf("请输入一个8进制编码.\n");
scanf_s("%o", &d);
printf("这个八进制编码是 %o ,字符是 %c.\n", d, d);

_getch();
return 0;
}

在VS2013软件中输出如下图:

请教各位,为什么我输入的是0100,而在printf中以%o显示的是100呢?就是少了一个零。
谢谢!

默认输出8进制是不带前缀的,你可以改成:
printf("这个八进制编码是 %#o ,字符是 %c.\n", d, d); //加#标识符,会在数据前面加个0,以表示8进制。
但如果你输入的是00100,实际存到d中的也只是100,用你的代码输出是100,用上面改过之后的代码输出是0100
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网