在今天我写了一个代码,涉及整形和浮点型相除,如下面这一个例子
#include<stdio.h>
int main()
{
double s = 0;
int i, n, flag = 1;
scanf_s("%d", &n);
for (i = 1; i <= n;i++)
{
s = s + flag *( 1.0/ (2 * i - 1));
flag = -flag;
}
printf("sum%f", s);
return 0;
}
你会发现用1除和1.0除结果会完全不一样,这是因为用1除,相当于int除int型结果还是int型,我们需要得到的是浮点型,只有float/float,float/int,int/float型,得到才是浮点型,这样才会得到我们需要的东西。