【发布时间】:2021-11-24 06:29:51
【问题描述】:
我正在学习 C 编程语言。我正在用 C 编程语言做作业。但我遇到了一个问题。结果不打印。我正在使用格式说明符 %s。下面是我的代码。请看一下。
#include <stdio.h>
int gradeCalculation(int marks) {
switch (marks) {
case 0 ... 49:
return 'F';
break;
case 50 ... 59:
return 'D';
break;
case 60 ... 69:
return 'C';
break;
case 70 ... 79:
return 'B';
break;
case 80 ... 89:
return 'A';
break;
case 90 ... 100:
return 'A+';
break;
default:
return 'Marks is not valid!';
}
}
int main() {
int marks;
printf("Marks: ");
scanf("%d", &marks);
printf("Grade: %s\n", gradeCalculation(marks));
return 0;
}
如何解决我的问题?我应该使用什么说明符来获得预期的结果?
【问题讨论】:
-
%s用于char *,因为您只返回int,要获得char表示,请使用%c。 -
如果我使用 %c 则不会打印默认大小写。
-
您如何期望
'Marks is not valid!'被表示为int? -
我刚刚注意到,
return 'Marks is not valid!';是错误的。您应该使用" "(双引号)。并将您的函数返回类型更改为char *。这样你就可以使用%s。 -
更改函数的返回类型,因为它在默认情况下返回字符串
标签: c if-statement switch-statement string-literals function-definition