求看下c语言的问题
#include <stdio.h>int main()
{
int i;
printf("请输入成绩:");
scanf("%d", &i);
switch (i)
{
case '0': printf("你的成绩在90分以上!\n"); break;
case '1': printf("你的成绩在80~90分之间!\n"); break;
case '2': printf("你的成绩在70~80分之间!\n"); break;
case '3': printf("你的成绩在60~70分之间!\n"); break;
case '4': printf("你的成绩在60分以下!\n"); break;
}
return 0;
}
c语言基础的问题
1.switch 后面的表达式。我看小甲鱼说如果结果为0则程序不能运行。那么,我开头设置整变量int i,那么第一个case后面的0能不能执行?
实际上我编译了,输入0、1、2、3都不能执行程序 问题出在哪里呢?
由于你输入的不是字符你的case 判断的是字符,你输入的只是int的整形,所以没有任何结果 hywo125 发表于 2017-10-21 00:29
由于你输入的不是字符你的case 判断的是字符,你输入的只是int的整形,所以没有任何结果
case 后面跟的不是常量值吗?必须是字符? 不能是整形? 又见窄巷 发表于 2017-10-21 00:33
case 后面跟的不是常量值吗?必须是字符? 不能是整形?
switch的条件支持char, int, short, long类型,不支持float,double。
布尔类型是从C99开始有关键字,即_Bool,VS 2010并不支持。 hywo125 发表于 2017-10-21 00:37
switch的条件支持char, int, short, long类型,不支持float,double。
布尔类型是从C99开始有关键字,即 ...
额,我输入的是int类型啊,可是没结果。。。。 又见窄巷 发表于 2017-10-21 00:44
额,我输入的是int类型啊,可是没结果。。。。
case '1'代表字符, 你要写 case 1: hywo125 发表于 2017-10-21 00:45
case '1'代表字符, 你要写 case 1:
我竟让犯了这种低级错误,被您看出来了。。。。。非常感谢 又见窄巷 发表于 2017-10-21 01:02
我竟让犯了这种低级错误,被您看出来了。。。。。非常感谢
编程就是不断错误与改正的过程,,再说谁不是从新手过来的 hywo125 发表于 2017-10-21 01:09
编程就是不断错误与改正的过程,,再说谁不是从新手过来的
{:5_91:} 嗯嗯
页:
[1]