在学习《C语言实战105例》的11例时候,代码检测没有问题,但是运行遇到中断,显示:

Run-Time Check Failure #3 - The variable 'sum' is being used without being i

代码为;

/*定义一个求总的平均成绩的函数AverageAll,
它的形参一个是指针变量(数组名),传递一个首地址,
n是要计算的成绩个数*/
float AverageAll(float*score,int n)
{
    int i=0;
	float sum=0,avg;//错误代码为:float sum=0,avg;直接定义变量,并没赋初值值
	while(i<n)
	{
	    sum+=score[i];
		i++;
	}
	avg=sum/n;
	return avg;
}

原因:

变量没有初始化。

第七行中       float sum=0,avg;//错误代码为:float sum=0,avg;直接定义变量,并没赋初值值,所以给sum赋初值为0 就好了。

-------------------------------------------------------------------------------------------------------------------

问:什么时候变量必须赋初值?什么时候不需要呢?

解答:你首先声明了一个变量 int a;如果你以后用的a的时候是给a赋值的语句,那有无初值都没关系了.如果之后第一次用的时候不是给a赋值的语句,那就根据你的用法适当给个初值了,比如说以后你用到a的地方都是a++;那么显然要给a个初值了(比如0或者1什么的,完全根据自己需要) 总的来说赋了肯定是没错的

----------------------------------------------------------------------------------------------------------------------------------------

 

 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐