Так что всякий раз, когда я вводил оценку, она возвращает мне случайный символ, хотя я и определил оценку. Не лучше, если я использовал значение из return grade;
, но я не знаю, как получить этот символ в мою основную функцию бы: <Моя функция c возвращает тарабарщину
#include <stdio.h>
char GradeFromPercentage(float percentage);
int main() {
float percentage1;
printf("Enter the student's percentage:");
scanf("%f", &percentage1);
printf("Student's grade is %c \n", GradeFromPercentage(percentage1));
return 0;
}
char GradeFromPercentage(float percentage) {
char grade;
if (percentage >= 90) {
grade = "A";
} else
if (percentage >= 70) {
grade = "B";
} else
if (percentage >= 50) {
grade = "C";
} else
if (percentage >= 30) {
grade = "D";
} else {
grade = "F";
}
return grade;
}
Интересно, почему компилятор не производит предупреждение. Хорошим правилом является компиляция с максимально возможным количеством предупреждений. Если вы используете gcc, эти параметры удобны: gcc -Wall -Wextra -pedantic -Werror -std = c99 (или другой стандарт). –
'' '' '' не 'char'. Также нет '' B "', '" C "... –
Предупреждение о компиляторе для каждого из них. –