按英文字面意思来理解。float:浮点,就是对应我们在数学中的小数;int:integer,整数。printf = print(打印)+f(function 函数),就是打印函数,输出到屏幕上,输出函数;scanf= scan(扫描)+f(function 函数),扫描函数,就是外面的东东扫描到电脑里面,作为输入,就是输入函数。
printf 是有格式输出。输出的变量类型 与 格式 必须相配。 bbb 是 float, 按 %d 输出 就会出错,你的例子 正说明这点,它不但自己错,而且引起输出流错。按 %d 输出,要加 (int) :printf("%d\n%f\n%f\n",(int) bbb,(float)aaa,2.3);
lf代表(double,双精度浮点数),%f(float,代表单精度浮点数)没有long float,但是用了也可以,只是编译器会说它是不规范的延生。
但在输入中“%f”是float,“%lf ”是double,不能混淆
一、float类型的输出格式 在C语言中,float类型表示单精度浮点数,它占用4个字节,可以表示的范围为±3.4E-38~±3.4E+38。在使用printf函数输出float类型数据时,需要使用格式控制符“%f”。 printf("%f", float_var); 其中,float_var是要输出的float类型变量。 二、float类型的精度控制 在使用printf函数输出float类...
C语言里面float数据用printf(“%d”)输出是0,是float数据使用错误造成的,解决方法如下:1、首先在电脑中打开C-Free 5编译器(界面) -> 文件 -> 新建(Ctrl+N)。2、然后输入下图所示代码。3、编译成功后的截图。如果编译失败,请检查语法或者编译器是否有问题。4、程序运行截图(开始和结束)。
#include<stdio.h>intmain(){float a;scanf("%f",&a);printf("%f\n",a);return0;}运行结果:569.261569.260986 我们输入的数值是569.261,实际保存的却是569.260986。因为float只有4个字节表示,精度更低。我们在数值处理的时候,步骤要尽可能简单,越是复杂,问题越多;尽量使用double类型,少用float;对于精度有特殊...
函数返回值类型由函数头部的返回值类型决定 例如 函数头部为int f(),这样的话,返回值类型为int型;又如头部为double f()的话,返回值类型为double型;头部为char *f()的话,返回值为char *,即指向char的指针 特别的,如果函数头部没有显示的说明返回值类型,则在C中一般是默认当作返回int型,如f(),...
原因就是,你使用了lf输出,其实是将float x转换为一个double输出了。相当于 double y = x;,然后输出y,这样后面的数值其实是因为一个4位浮点数给8位浮点数赋值的时候,将x的真实存储以double的精度显示出来了。具体的说,这涉及float的二进制保存方式,如果你有兴趣,可以看看基础语法书上关于float...
float型数据用%f输出,doule型数据一般用%lf输出。由于printf是一个可变长度列表的函数,当调用printf函数时,float会自动转换成double类型,其结果是printf函数无法区分float类型和double类型参数。因此,printf函数中的%f既可以用于float数据输出,也可以用于double数据输出。如果变量类型为float,则只输出四个字节对应的浮点数;...