【C语言】float与double在输出/输入时的注意点
【摘要】 【总结】
1.float型对应%f,double型对应%lf
2.输入类型不对应,会导致程序运行错误;输出类型不对应,则没问题。
float型对应%f,double型对应%lf(小写L,不是数字1)。
%f和%lf分别是float类型和double类型用于格式化输入输出时对应的格式符号。
其中:
float,单精度浮点型,对应%f。
double,双精度浮点型,对应%lf。
一、以对应的格式输入时,可正常运行,代码如下:
#include<Stdio.h>
int main(){
//float型变量
float i ;
printf("float变量\n以%%f格式输入:");
scanf("%f",&i);
printf("以%%f格式输出:%f\n",i);
printf("==============================\n");
//double型变量
double j ;
printf("double变量\n以%%lf格式输入:");
scanf("%lf",&j);
printf("以%%lf格式输出:%lf\n",j);
}
【运行结果】
二、以不对应的格式输入时,有如下几种情况:
1.输入
float类型变量使用%lf格式输入,会导致输入值错误。
double 类型变量使用了%f格式输入,会导致输入值错误。
#include<Stdio.h>
int main(){
//float型变量
float i ;
printf("float变量\n以%%lf格式输入:");
scanf("%lf",&i);
printf("以%%f格式输出:%f\n",i);
printf("==============================\n");
//double型变量
double j ;
printf("double变量\n以%%f格式输入:");
scanf("%f",&j);
printf("以%%lf格式输出:%lf\n",j);
}
【运行结果】
2.输出
float 类型变量使用%lf格式输出,没有问题。
double 类型变量使用了%f格式输出,没有问题。
#include<Stdio.h>
int main(){
//float型变量
float i ;
printf("float变量\n以%%f格式输入:");
scanf("%f",&i);
printf("以%%lf格式输出:%lf\n",i);
printf("==============================\n");
//double型变量
double j ;
printf("double变量\n以%%lf格式输入:");
scanf("%lf",&j);
printf("以%%f格式输出:%f\n",j);
}
【运行结果】
【总结】
- float型对应%f,double型对应%lf
- 输入类型不对应,会导致程序运行错误;输出类型不对应,则没问题。
仅作参考,欢迎补充指正
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)