《C语言报错》Run-Time Check Failure #3 - The variable 'sum' is being used without being i

在学习《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什么的,完全根据自己需要) 总的来说赋了肯定是没错的

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

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值