强制类型转换

首先给大家写一个程序:

#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;
}

强制类型转换