用在scanf函数中,"%X,%O"表示%X对应的第一个变量接收一个十六进制数,再接收一个逗号不赋给任何变量,最后接收一个八进制数赋给%O对应的变量。字母大小写均可。
用在printf函数中,"%X,%O"中的%O控制符是错误的,因为有的编译器只认%o不认%O,就是说在printf中是分大小写的。%X对应输出大写字母的十六进制数,%x对应输出小写字母十六进制数;中间逗号照搬输出,%o对应输出八进制数。
扩展资料:
C语言中所有格式化类型的定义:
1、%d/i
2、%o
无符号8进制整数(不输出前缀0)
3、%u
无符号10进制整数
4、%x/X
无符号16进制整数,x对应的是abcdef,X对应的是ABCDEF(不输出前缀0x)
5、%f(lf)
单精度浮点数和双精度浮点数用f(lf在C99开始加入标准,意思和f相同)
参考资料来源:百度百科-c语言
楼上说的有些错printf和scanf叫格式输出
而且没有x%,o%的格式,应该是%x,%o,%放后面表示取余,放前面是格式标记。
%x是16进制
%o是八进制