gpt4 book ai didi

c - C中简单平均计算的错误值输出

转载 作者:太空宇宙 更新时间:2023-11-04 08:28:28 24 4
gpt4 key购买 nike

我将一组考试成绩连同数组的大小传递给 examAverage 函数。当我在 for 循环中打印数组内容时,它们是正确的,但是当它们加在一起时,总和是错误的。即使我在设置 double sum = 0 后立即 printf,它也会显示 sum = 2。当函数完成时,我得到一个非常大的数字。感谢您的帮助。

double examAverage(int arr[], int size){

int i;
double exAvg=0;
double sum =0;
printf("Sum = %d\n", sum);

for (i = 0; i < size; ++i)
{
printf("Sum = %d\n", sum);
sum = arr[i];
}

exAvg = sum / size;

return exAvg;
}

主要

double examAverage(int arr[], int size);    
printf("How many exam grades would you like to enter?\n");
scanf("%d", &examGrad);

int exams[examGrad];

printf("Enter exam grades \n");
for(int i=0; i<sizeof(exams)/sizeof(exams[0]); i++){
scanf("%d", &exams[i]);
}

double exAvg;
exAvg= examAverage(exams, examGrad);
printf("Exam average = %d", exAvg);

输出

How many exam grades to enter?
2
Enter exam grades
100
50
Sum = 2
Sum = 10
Sum = 1079574528
Exam Average = 1081159680

最佳答案

你不是说 sum += arr[i];examAverage 的 for 循环中吗?此外,您标记为 Main 的代码根本不是真正有效的,首先,没有 examGrad 的声明,其次,顶部的函数声明谁知道,第三,sizeofs 在 for 循环中可以用 examGrad 代替,%d 已经提到了。如果您询问有关简单代码的问题,请将其全部包括在内,如果太多,请删除不需要的部分或确保我们有它们,否则我们不知道问题是否是缺少代码。

关于c - C中简单平均计算的错误值输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29423154/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com