有个小程序在Turbo C上运行没问题,在Visual C上有'2 warning(s)'
很简单的一个程序,求s=1+x+x2/2!+x3/3!+…+xn/n! 当n=10,x=0.3时的值.
#include <stdio.h>
#include <conio.h>
#include <math.h>
double fun(double x,int n)
{
double s=1;
int i,t=1.0;
for(i=1.0;i<=n;i++)
{
t=t*i;
s=s+pow(x,i)/t;
}
return s;
}
void main()
{
printf("%lf\n",fun(0.3,10));
}
在Turbo C上完全正确,为什么在VC运行后提示可能会丢失数据呢?应该怎么改?谢谢各位!
E:\C\zt08.c(7) : warning C4244: 'initializing' : conversion from 'const double ' to 'int ', possible loss of data
E:\C\zt08.c(8) : warning C4244: '=' : conversion from 'const double ' to 'int ', possible loss of data