我是一名学生,昨天在做题过程中发现以%d和%Ld 输出同一个数据显示的结果是一样的,以%f和%Lf输出同一个数据,显示的结果也是一样的,都是小数点后六位小数,这是为什么呢?为什么%Lf不是输出15位小数呢?那输入的时候呢?以%f和%Lf输入时数据也以相同的格式输入吗?
1条回答 默认 最新
- 技术专家团-小桥流水 2021-12-09 09:16关注
在输入的时候,严格按照数据类型来处理。
输入:
%d输入int类型
%f输入float类型
%ld输入long类型
%lf输入 double类型
输出:
%d输出int类型
%ld输出long类型
%f输出float类型
%lf在某些编译器中会报错,所以在一些编译器中也用%f来输出double类型,double类型输出也默认是小数点后6位,所以,在输出的时候,%f和%lf一般不做区别。
在G++中,double类型若用%lf输出可能会错,
而在C++中,double类型用%lf输出是正确的本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录