[英]How to return char when input int value in function in C?
我不知道為什么它總是在該行出現錯誤,程序將顯示成績:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
const char ConvertToGrade(int mark);
int main() {
int mark;
printf("Enter your mark : ");
scanf("%d", &mark);
printf("\nYour grade is : %s", ConvertToGrade(mark));
}
const char ConvertToGrade(int mark) {
char grade;
if (mark >= 0 && mark < 50)
grade= 'F';
else if (mark >= 50 && mark < 60)
grade = 'D';
else if (mark >= 60 && mark < 70)
grade = 'C';
else if (mark >= 70 && mark < 80)
grade = 'B';
else if (mark >= 80 && mark < 101)
grade = 'A';
else
grade = 'X';
return grade;
}
此行導致錯誤
printf("\nYour grade is : %s", ConvertToGrade(mark));
您正在使用%s
而您正在返回一個 const char。 這是更正后的代碼-
printf("\nYour grade is : %c", ConvertToGrade(mark));
printf("\nYour grade is: %s", ConvertToGrade(mark));
您正在使用 %s 作為 char 的格式說明符。 您應該將 %c 用於字符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.