簡體   English   中英

在C中的function中輸入int值時如何返回char?

[英]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;
}

這是要求 C 程序的問題

此行導致錯誤

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM