gpt4 book ai didi

c - 我怎样才能创建一个计算我的成绩的函数?

转载 作者:行者123 更新时间:2023-11-30 15:18:34 25 4
gpt4 key购买 nike

当我尝试编译时,出现此错误:“compute_GPA”的类型冲突。

我的主要功能测试compute_GPA和compute_GPA应该计算成绩的平均值!

我声明了什么错误?这是我的代码:

#include <stdio.h>
#include <ctype.h> /* for access to the toupper function */

/* Test a function that calculates the average of grades in a char array. main tests the function */

int main(void)
{
char a[5] = {'A','C','B','C','D'};
float see = compute_GPA(a, 5);
printf("largest = %f", see);
return 0;
}

float compute_GPA(char grades[], int n)
{
float sum = 0;
int i;
float count = 0;
/*Iterate over the array of chars */
for (i = 0; i < n; i++)
{
count++;
/*Check what char array contain*/
char check = grades[i];
switch(toupper(check)) {
case 'A': sum += 4; break;
case 'B': sum += 3; break;
case 'C': sum += 2; break;
case 'D': sum += 1; break;
default:sum += 0; break;
}
}
return sum / count;
}

最佳答案

将函数 compute_GPA() 定义移至 main() 上方或

main()之前声明它的原型(prototype):

float compute_GPA(char*, int);

在 C99 之前的版本中,编译器假定函数如果看不到声明,将返回 int。但这个隐式声明与compute_GPA()的实际定义相冲突。但这个“隐式 int”规则已从 C99 及更高版本中删除。因此你的代码在现代 C 中是无效的。

关于c - 我怎样才能创建一个计算我的成绩的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31357216/

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