printf基本用法

wangyuzhe 蒟蒻 2023-03-25 16:50:22 0
基本使用(格式控制字符串)
如下表(来自C 库函数 - printf()):
格式字符 意义
a, A 以十六进制形式输出浮点数(C99 新增)
d 以十进制形式输出带符号整数(正数不输出符号)
o 以八进制形式输出无符号整数(不输出前缀0)
x,X 以十六进制形式输出无符号整数(不输出前缀0x)
u 以十进制形式输出无符号整数
f 以小数形式输出单、双精度实数
e,E 以指数形式输出单、双精度实数[1]
g,G 以%f或%e中较短的输出宽度输出单、双精度实数
c 输出单个字符
s 输出字符数组[2],[3]
p 输出指针地址
lu 32位无符号整数[4]
llu 64位无符号整数[5]

注释:

[1]例如 7.25×102、0.0368×105、100.22×10-2、-27.36×10-3 等

[2]为了好理解,我把原文中的“字符串”改成了“字符数组”,但请记住,在C语言中,字符串即为字符数组

[3]可以省略参数

[4]C++中的unsigned int

[5]C++中的unsigned long long int(简写为unsigned long long)


练习 1.写出程序的输出结果:

#include <stdio.h>

int main() {
	int x = 10;
	printf("%d\n", x);
	printf("%o\n", x);
	printf("%x ", x);
	printf("%u\n", x);
}

请在思考完毕后划开答案:
10
12
a 10

答案解析:

第5行,是以十进制输出带符号整数(并换行),但第8行是输出无符号整数,在x为正数时没有区别

第6行,是以八进制输出一个无符号整数(并换行)

第7行,是以十六进制输出一个无符号整数,但请注意,输出字母是小写;格式控制字符串中末尾是一个空格

{{ vote && vote.total.up }}