一,printf输出函数里
1 %md
在printf输出函数里,%md,
1,m<真实输出值(即图片中a的值),则按照真实值输出。
2,当m>真实值,则运行出来的数向右对齐,例如如图,123左边两个空格
3,当m<0,则向左对齐。
总结 在printf输出函数中m为至少输出多少。
2 %m.nd
在printf输出函数中m代表m几个字符空间,并且向右对齐;n代表几个有效数字,如果n>真实输出,则用0补充。如上图。
3 %m.nf
%f是float(单精度浮点型,小数点精确到后6位)型变量的占位符,
%m.nf中m代表输出数长,和上面一样仍然是至少输出多长,n代表小数的长度,仍然向右对齐
1,当m>真实输出值,如上图第9行,m=7,而实际上b的长度为5(因为n=2,所以小数长度就变成了2,再加上小数点和整数部分,实际长度就是5),所以向右对齐左边添上两个空格,使得总长为7,
并且看向数字的值,原来的数为12.345,在编译之后变为了12.35,这是因为n=2,要求取到小数点后两位,并且进行四舍五入
2,当m<真实输出值,如上图第10行,m=3,而实际长度为5,前面就没有空格
3,第5和6行的printf输出函数,第一个小数点后面为6个0,第二个则5个0.由于n=5,代表后面小数点后面只取到5.
总结 注意在printf函数中输出为至少输出多少
二scanf输入函数里
1,%md在scanf中m才是代表着至多的意思,如上图m=3,则代表编译器最多读取a的值前3位.
1,当m>真实输入值,如图二因为在scanf中m为至多,所以不会发生变化.
2当m<真实输入值,如图一,只读取了123.
2,在scanf中不存在%m.nd或者%m.nf
如果这样输入任何书都会出现输出随机数.