C语言——格式控制字符%m.nf和%-m.nf练习.c++002

C++从入门到精通——用户与计算机的交互——输入和输出

关键代码:

#include <stdio.h> #include <stdlib.h> 暂停

#pragma region 格式控制字符%m.nf和%-m.nf练习 void main() { float f=123.456; printf("%f ",f); printf("%10.1f ",f); printf("%5.1f ",f); printf("%10.3faaa ",f); printf("%-10.3faaa ",f);

system("PAUSE");

} #pragma endregion

——————————————————————————————

范例分析:

本范例是探讨数据因m,n的不同,输出内容有何不同

第五行是按%f的格式输出的,但是,大家会发现为什么输出的会是 123.456001 呢?按正常的情况来说应该输出 123.456000,这是由于系统内实数的存储误差形成的。

第六行要求输出 10 位的数字并有一位小数,小数四舍五入是 5 ,加上小数点是 5 位,所以前面补了 5 个 0 。

第七行要求是 5 位数字, 1 位数字,所以不需补 零,且小数点后面四舍五入。

大家看一下第 8 行和第 9 行,会发现,用%m.nf 格式输出的数字将空格补在了前面,而用 %-m.nf 的则补在后面,aaa 是用来对比空格的位置。

C 格式控制字符

C 格式控制字符作业是输出字符串

S 格式控制字符串

S 格式控制字符作用是输出字符串

——————————————————————————————

1.%m.ns:输出 m 位的字符,从字符串的左端开始截取 n 位的字符,如果 n 位小于 m 位,则左端补空格。

2.%-m.ns:与 %m.ns 相比是右端补空格。

经验分享 程序员 微信小程序 职场和发展