我已经在C-Free5.0中制作了基本代码,如果与 if 语句中的相同,则表示良好。但是当我使用一个开关时它会给出错误:'per'不能出现在Constant-expression中,为什么它会给出错误?
#include<stdio.h>
#include<conio.h>
int main()
{
int urdu=134;
int eng=112;
int isl=72;
int ps=58;
int maths=137;
int phy=128;
int chem=120;
int bio=115;
int total=(urdu+eng+isl+ps+maths+phy+chem+bio);
int per=(total*100)/1050;
printf("Urdu= %d\n", urdu);
printf("English= %d\n", eng);
printf("Islmiyat= %d\n", isl);
printf("Pakistan Studies= %d\n", ps);
printf("Mathematics= %d\n", maths);
printf("Physics= %d\n", phy);
printf("Chemistery= %d\n", chem);
printf("Biology= %d\n\n", bio);
printf("Percentage: %d\n",per);
switch(per)
{
case (per>80):
printf("A+");
case (per>70):
printf("A");
}
getch();
}
答案 0 :(得分:4)
switch-case是一系列ifs检查变量的相等到一系列常量的简写。您无法按照指定的方式使用它。相反,您可以使用普通的旧if
语句:
if (per > 80) {
printf("A+");
else if (per > 70) {
printf("A");
}