C语言里 scanf语句中 "%7.2f"什么意思啊

如题

的确!在输入的时候,不一定要求用户按照我们规定的格式去输入,只要用户输入规定的数据类型就可以了,一般这样的格式控制应该在输入pintf()里出现,用于规范输出的格式,而这种类似printf("%7.2f",a); 的语句中括号内 的“”内部 %7.2 是控制输出的float类型输入,在数据不足7时(含小数部分和小数点)的时候,按照7个数据的位数输出,数据向右对齐,小数点保留2位;举个例子:#include<stdio.h>
void main()
{
float a,b,c;
scanf("%f",&a);
printf("%f\n",a); //正常的输出,保留小数点后6位 scanf("%f",&b);
printf("%7.2f\n",b); //输出(韩小数点和小数部分不足时输出)7位,保留到小数点后2位 scanf("%f",&c);
printf("%8.3f\n",c); //同上,输出8八位,保留小数点后三位
}演示如下:
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-04
C语言里 scanf语句中 "%7.2f"是错误的,不能编译通过的。最多只能
float x; scanf("%7f",&x);
换句话说,只能指定读入数据的总宽度,不能指定读入数据的小数位数的。本回答被网友采纳
第2个回答  2019-03-11
scanf中的7.2是非法的,scanf没有精度控制,去掉.2是可以的,7表示从右开始要写够七位,不够的用空格补上,-7表示从左开始
第3个回答  2013-11-24
表示输出7位小数点后保留2位
相似回答