m0_66394588 2022-03-25 22:55 采纳率: 91.5%
浏览 43
已结题

有一个问题想问各位,问题在双斜杠后面

#include<stdio.h>

int main()
{
    
    float score; 
    printf("请输入成绩:");
    scanf("%f",&score);
    
    if(score>100||score<0)
    {
        printf("输入成绩错误"); 
    }
    else
    {
        score=(int)score/10;  //为什么这串代码使用了强制转换还是无法继续进行 
    }    
    switch(score)
    { 
        case 0:
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:printf("不及格");break;
        case 6:printf("及格");break;
        case 7:printf("中等"); break;
        case 8:printf("良好");break;
        case 9:
        case 10:printf("优秀");break;
     } 
     return 0;
}

  • 写回答

4条回答 默认 最新

  • 关注

    当赋值表达式两边的数据类型不一致时,以左边的数据类型为准,右边的数据类型向左边看齐。
    即右边数据类型所占字节数如int,小于左边float所占字节数,则右边要转为float型数据。
    建议再定义一个整型变量,对score进行强制转换后再赋值。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 4月3日
  • 已采纳回答 3月26日
  • 创建了问题 3月25日