我编写了一个基本的简单程序来计算对 C 的兴趣,这是代码。
#include<stdio.h>
main()
{
float principal,rate,time,si;
printf("Please Enter The Principal Value = \n\t");
scanf("%f",&principal);
printf("Please Enter The Rate =\n\t");
scanf("%f",&rate);
printf("Please Enter Time =\n\t");
scanf("%f",&time);
si=(principal*rate*time)/100;
printf("The Simple Interest Is = \t%f",si);
}
现在的问题是,每当我输入小值时,结果都是正确的,但是每当我输入一些在 FLOAT 限制内的大值时,我都会得到另一个整数值匹配但十进制值不匹配的值。我已经在 Linux 中创建了这个程序,并在 Windows 和 C Free 的 Turbo C 中尝试了同样的事情,并且出现了同样的错误。我也尝试过初始化这些值,但没有用。
出现的流氓值示例 -
Principal = 123456 , Rate = 1, Time =1
Principal = 4512 , Rate = 412, Time =12
还有更多的例子。请解决我的这个问题