在计算机中,所有的数据都是用二进制进行储存,我们常用%d指示printf()函数打印输出有符号的十进制整数,对应待打印输出的是 int 整型的数据,但如果我们想要我们输入的整数以其他进制转换呢?
这时候我们就要用到printf的其他转换说明,在printf()函数中,我们要求printf()函数打印输出数据的指令要和我们要打印数据的类型相对应匹配.如:我们常用%d来打印输出整数,%c来打印输出字符.
下面这张表列出了一些printf()函数的转换说明和各自对应的输出类型
接下来我们将用通过一个题目来具体演示
#include<stdio.h>
int main()
{
int a;
scanf("%d",&a); //从键盘获取一个数
int b = a % 5; //将输入的数对5取余,并将值赋给变量b;
printf("该数对应的八进制数为:%o\n十六进制为:%x\n",a,a); //详情参考上表
printf("该数除以5的余数为:%d",b);
/*实质只是表示数的方法(进制)变了,数据类型没有改变
return 0; 不同数据类型之间的是不能弄错的,如该题int的b变量
如果最后的输出若用浮点数的占位符%f替换%d,则不能成功输出b*/
}
若还有不懂的欢迎咨询博主