下面这个程序怎么错了?我一点都不懂

来源:百度知道 编辑:UC知道 时间:2024/06/15 02:14:07
#include <stdio.h>
char trans(float a);
main()
{
float a;
printf("请输入分数:\n");
scanf("%f",&a);
}
char trans(float a)
{
switch(int(a/10))
{
case 10:
return 'A';
break;
case 9:
return'B';
break;
}

}

你的程序有一个错误两个警告:

错误:
int(a/10)
应该写为:
(int)(a/10)

警告两处:
在return之后的语句是无法执行的,两个break应该删除。

函数trans还有问题,不为0和1时的返回值没有定义。

修改以后完全正确的程序如下:

#include <stdio.h>
char trans(float a);
main()
{
float a;
printf(":\n");
scanf("%f",&a);
}
char trans(float a)
{
switch((int)(a/10))
{
case 10:return 'A';
case 9:return'B';
}
}

好像没有错!