永发信息网

c语言double iResult为什么=0

答案:2  悬赏:50  手机版
解决时间 2021-04-07 07:49
  • 提问者网友:骨子里的高雅
  • 2021-04-06 15:23
c语言double iResult为什么=0
最佳答案
  • 五星知识达人网友:刀戟声无边
  • 2021-04-06 16:50
你的这个程序加不加就无所谓了,因为后续有重新赋值的语句。但对于某些程序而言初始化是必要的,比如求1到100的和,如果不初始化,那么循环时,sum += i;就会出错,因为一个未知具体值的变量无法进行任何运算。实际上,对于局部变量来说,初始化是个好习惯,不仅可以防止内存随机读值,还能保证程序运行不会崩溃。
全部回答
  • 1楼网友:空山清雨
  • 2021-04-06 16:58

double *cal(double A[],int n)
{
double* result = (double*)malloc(sizeof(double)*3);//改成这样
result[0]=1000;//这里分别赋值
result[1]=0;
result[2]=0;
for(int i=0;iif(result[0]>A[i])
{   result[0] = A[i];}
if(result[1]{result[1] = A[i];}
result[2] =result[2] + A[i];
}
return result;
}
//不要返回一个局部变量的指针,栈已经被回收了
//使用堆空间追问我是小白,还是看不懂,只想知道为什么double Result后面还要多加=0,而double Radius后面不用呢?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯