您现在的位置是:首页 >综合 > 2023-07-23 03:40:45 来源:

c语言scanf为什么要&符号(c语言scanf()

导读 大家好,我是小小根,我来为大家解答以上问题。c语言scanf为什么要&符号,c语言scanf(很多人还不知道,现在让我们一起来看看吧!1、不一样...

大家好,我是小小根,我来为大家解答以上问题。c语言scanf为什么要&符号,c语言scanf(很多人还不知道,现在让我们一起来看看吧!

1、不一样的,这么都是格式字符,意义如下:

2、格式字符 意 义

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

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

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

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

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

8、e,E 以指数形式输出单、双精度实数

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

10、c 输出单个字符

11、s 输出字符串

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

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

14、#include<stdio.h>

15、void main()

16、{ double i;

17、scanf("%lf",&i);

18、printf("%f\n",i);

19、}

20、和

21、#include<stdio.h>

22、void main()

23、{ double i;

24、scanf("%f",&i);

25、printf("%f\n",i);

26、}

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

本文到此讲解完毕了,希望对大家有帮助。