使用scanf_s()
格式化读取浮点值时,可以以各种形式输入值。
示例代码
#define __STDC_WANT_LIB_EXT1__ 1
#include <stdio.h>
int main(void)
{
float fp1 = 0.0f;
float fp2 = 0.0f;
float fp3 = 0.0f;
int value_count = 0;
printf("请输入: 3.14.314E1.0314e+02\n");
printf("输入:\n");
value_count = scanf_s("%f %f %f", &fp1, &fp2, &fp3);
printf("\n输出:\n");
printf("输入的数字值是:%d\n", value_count);
printf("fp1 = %f fp2 = %f fp3 = %f\n", fp1, fp2, fp3);
system("pause");
return 0;
}
执行上面示例代码,得到以下结果:
请输入: 3.14.314E1.0314e+02
输入:
1
2
2
输出:
输入的数字值是:3
fp1 = 1.000000 fp2 = 2.000000 fp3 = 2.000000
此示例演示了输入相同值的三种不同方法。
- 第一个是直接的十进制值,
- 第二个具有由E1定义的指数值,表示该值将乘以
10
, - 第三个的指数值为
e + 02
,因此尾数乘以100
。