使用printf输出8进制,16进制方法如下。

无前缀方式:

printf("%o",num)  //无前缀o的8进制数

printf("%x",num)  //无前缀0x的小写16进制数

printf("%X",num)  //无前缀0X的大写16进制数


有前缀方式:

printf("%#o",num) //有前缀o的8进制数

printf("%#x",num) //有前缀0x的小写16进制数

printf("%#X",num) //有前缀0X的大写16进制数

#include <stdio.h>
 
int main()
{
    int n;
	scanf("%d", &n);
	
	//printf("%o %d %x\n", n, n, n);
	printf("%#o %#d %#x\n", n, n, n);
	
	return 0;
}


点赞(106)
 

0.0分

147 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 108 条评论

王子旭 4年前 回复TA
@賀天 int main()函数类型要有返回值。如果是void main()不需要有。
靓仔 4年前 回复TA
前缀#有什么用啊,为什么一定要写
cook 4年前 回复TA
@程序员不脱发 最后return 0的;不是英文状态下的
cook 4年前 回复TA
@賀天 或者返回值就是 0
cook 4年前 回复TA
@賀天 main函数前面的类型是int,因此要返回一个int类型的数,一般没有返回值时,就写return 0
LuLD 4年前 回复TA
@程序员不脱发 scanf("%d, &a");这样a就附不了值,最后打印的时候就不知道a的值是多少,就会报错,  应该是 scanf("%d", &a);
LuLD 4年前 回复TA
@soyo 0x16 和0X16
陈明泽 4年前 回复TA
@Monster00 把“输入您要转换的整数“那一句都删掉
从不搞笑 4年前 回复TA
@程序员不脱发 注意有前缀
从不搞笑 4年前 回复TA
@賀天 你可以理解成固定格式