复制代码运行没发现任何问题?!看看是否其他问题。
//题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分用B表示,60分以下用C表示。
//分析:
#include<stdio.h>
int main(){
int grade[20],i;
char student[20];
printf("请输入成绩:\n");
for(i=0 ; i<20 ; i++){
scanf("%d",&grade[i]);
}
i = 0;
while(i<20){
grade[i]>=90 ? student[i] = 'A' :grade[i]>=60&&grade[i]<=89 ? student[i] = 'B' :student[i] = 'C';
printf("the student[%d] is : %c\n",i+1,student[i]);
i++;
}
}
这么的写就可以运行,但是上面那种写法就不可以,为啥呢
因为三目运算符a?b:c相当于
if(a) return b;
else return c;
只能返回值,不能返回表达式