小问题,我无法深究它。 {第35行预计会发表声明。我无法解决它的生活。这里的所有代码都在一起,我在{代码出现问题的位置旁边的代码中进行了评论。
#include <stdio.h>
char ScoreMarks(float percentage);
char ScoreRawMarks(float scoreAwarded, float mscoreAvailable);
int main(void)
{
float percent, Awarded, Available;
char result;
printf("Enter Score Available\n");
scanf("%f", &Available);
printf("Enter Score Awarded\n");
scanf("%f", Awarded);
result = ScoreFromRawMarks(Awarded, Available);
printf("Score Achieved = %c\n", result);
}
char ScoreFromPercentage(float percentage)
{
char output;
if (percentage >= 90.0) {
output = 'A';
}
else if (percentage >= 70.0) {
output = 'B';
}
else if (percentage >= 50.0) {
output = 'c';
}
else if (percentage >= 30.0) {
output = 'D';
}
else {
output = 'F';
}
return output;
};
char ScoreFromRawMarks(float scoreAwarded, float scoreAvailable, float percentage);
{ //EXPECTED DECLARATION
char output;
percentage = (scoreAwarded / scoreAvailable) * 100;
output = ScoreFromPercentage(scoreAwarded, scoreAvailable);
return output;
}
答案 0 :(得分:2)
你在这一行的末尾有一个分号,这使得编译器认为你正在做一个函数原型:
char ScoreFromRawMarks(float scoreAwarded, float scoreAvailable, float percentage);
{ //EXPECTED DECLARATION
答案 1 :(得分:1)
从上一行中删除分号?
答案 2 :(得分:1)
理解错误是你写的函数像其他人指示的那样有一个半冒号,并期望执行一行。预期的声明错误必须处理半冒号和括号,因此请务必检查。