求助!求助!

wu涛 2020-06-06 12:46:13
我写了这么一段简单的程序,运行不了,报告(Run-Time Check Failure #3 - The variable 'g' is being used without being initialized) 的错误,使用的VS2019,大佬帮帮我吧
#include <stdio.h>
#include<math.h>
int main()
{
float x;
char g;
scanf_s("%f", &x);
int y = x / 10;
switch (y)
{
case'0':
case'1':
case'2':
case'3':
case'4':
case'5':g = 'E'; break;
case'6':g = 'D'; break;
case'7':g = 'C'; break;
case'8':g = 'B'; break;
case'9':
case'10':g = 'A';
}
printf("%c %d", g,y);
return 0;
}
...全文
62 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wu涛 2020-06-06
  • 打赏
  • 举报
回复
谢谢,问题解决了。
自信男孩 2020-06-06
  • 打赏
  • 举报
回复
#include <stdio.h>
#include<math.h>
int main()
{
float x;
char g;
scanf_s("%f", &x);
int y = x / 10;
switch (y)
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
g = 'E';
break;

case 6:
g = 'D';
break;

case 7:
g = 'C';
break;

case 8:
g = 'B';
break;

case 9:
case 10:
g = 'A';
break;

default:
printf("Not support!\n");
break;
/*
case'0':
case'1':
case'2':
case'3':
case'4':
case'5':g = 'E'; break;
case'6':g = 'D'; break;
case'7':g = 'C'; break;
case'8':g = 'B'; break;
case'9':
case'10':g = 'A';
*/
}
printf("%c %d", g,y);
return 0;
}

供参考~

楼主应该是是分不清楚'1'和1的区别。
x /10,当x是100以内的数据,x/10得到的是0~10之间的数据。而'1'是字符,对应的10进制是48
qiu_shaofeng 2020-06-06
  • 打赏
  • 举报
回复
case '10' 存在语法错误。单引号里面是一个字符,‘10’是2个字符。

69,380

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧