C:为什么我的函数返回0值?
发布时间:2020-12-16 10:40:54 所属栏目:百科 来源:网络整理
导读:我有一个短程序,它应该将一个浮点值数组传递给三个不同的函数,以返回总和,平均值和最小值.我无法弄清楚为什么函数返回0值(或者我错误地传递了数组?) 我敢肯定我错过了一些简单而基本的东西,但一直盯着这个太长时间,真的看不出有什么不对. 感谢任何输入. #in
我有一个短程序,它应该将一个浮点值数组传递给三个不同的函数,以返回总和,平均值和最小值.我无法弄清楚为什么函数返回0值(或者我错误地传递了数组?)
我敢肯定我错过了一些简单而基本的东西,但一直盯着这个太长时间,真的看不出有什么不对. 感谢任何输入. #include <stdio.h> #define NUM 5 float array_sum (float arr[]); float array_avg (float arr[]); float array_min (float arr[]); int main () { float array_nums[NUM] = {1.23,4.56,7.89,10.1,2.34}; float arr_sum; float arr_avg; float arr_min; arr_sum = array_sum(array_nums); arr_avg = array_avg(array_nums); arr_min = array_min(array_nums); printf("nThe sum of the elements in the array is %f.n"),arr_sum; printf("The average of the elements in the array is %f.n"),arr_avg; printf("The smallest value in the array is %f.nn"),arr_min; return (0); } float array_sum (float arr[]) { float sum = 0; int i; for (i = 0; i < NUM; i++) { sum += arr[i]; } return (sum); } float array_avg (float arr[]) { int i; float avg; float sum = 0; for (i = 0; i < NUM; ++i) { sum += arr[i]; } avg = sum/NUM; return (avg); } float array_min (float arr[]) { int i; float min = arr[0]; for (i=0; i < NUM; ++i) { if (arr[i] < min) { min = arr[i]; } } return (min); } 解决方法
你的printfs在函数之外有参数:
printf("nThe sum of the elements in the array is %f.n"),arr_sum; ^ end of arguments 应该 printf("nThe sum of the elements in the array is %f.n",arr_sum); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |