强制类型转换
首先给大家写一个程序:
#include<stdio.h>
int main(void)
{
int i;
float sum = 0;
for(i=1; i<101; ++i)
{
sum = sum + 1;
}
printf("sum = %f\n", sum);
return 0;
}
#include<stdio.h>
int main(void)
{
int i;
float sum = 0;
for(i=1; i<=100; ++i)
{
sum = sum + (float)(1) / i;
}
printf("sum = %f\n", sum);
return 0;
}
#include<stdio.h>
int main(void)
{
int i ;
float sum = 0;
for(i=1; i<=100; ++i)
{
sum = sum + (float)(1) / i;
}
printf("sum = %f\n", sum);
return 0;
}
#include<stdio.h>
int main(void)
{
int i;
float sum = 0;
for(i=1; i<=100; ++i)
{
sum = sum + 1.0 / i;
}
printf("sum = %f\n", sum);
return 0;
}
#include<stdio.h>
int main(void)
{
int i;
int cnt = 0;
float avg = 0;
for(i=1; i<100; i+=2)
{
sum = sum + i;
++cnt;
}
avg = 1.0 * sum / cnt; // 最简单的强制类型转换
printf("avg = %f\n", avg); // float 型一定要写
return 0;
}