admin 管理员组

文章数量: 887021


2023年12月18日发(作者:mysql数据库图)

用于scanf的格式符有以下几种:

c 读单字符

d 读十进制整数

i 读十进制、八进制、十六进制整数

e 读浮点数

f 读浮点数

g 读浮点数

o 读八进制数

s 读字符串

x 读十六进制数

p 读指针值

u 读无符号十进制整数

[ ] 扫描字符集合

所以%d指示scanf读取一个整数值,%c指示读取一个字符,%lf指示读取一个双精度值。

格式字符 意 义

d

o

x,X

u

f

e,E

g,G

c

s

以十进制形式输出带符号整数(正数不输出符号)

以八进制形式输出无符号整数(不输出前缀0)

以十六进制形式输出无符号整数(不输出前缀Ox)

以十进制形式输出无符号整数

以小数形式输出单、双精度实数

以指数形式输出单、双精度实数

以%f或%e中较短的输出宽度输出单、双精度实数

输出单个字符

输出字符串

前面加个%,你自己对照下吧

长度:长度格式符为h,l两种,h表示按短整型量输出,l表示按长整型量输出。你这个“%lf”,是在定义输入的类型为double(双精度)是用的,不明白,你可以测试下:

#include

void main()

{ double i;

scanf("%lf",&i);

printf("%fn",i);

}

#include

void main()

{ double i;

scanf("%f",&i);

printf("%fn",i);

}

我这里用了2个编译器分别测试了下,一个如果定义double行,输入的时候必须要用%lf,一个就不用了,用%f也行,但是精度还是有区别的,综合以上,如果定义double型数据,输入最好是用"%lf" .


本文标签: 输出 整数 形式 定义