switch括号内可以是小数吗

#include
int main()
{ int i,j=2;
for(i=1;i<=2j;i++)
switch(i/j)
{
case 0:
case 1: printf("
"); break;
case 2: printf("#" );
}
}
如题所示,i=3时,i/j=3/2,此时输出#吗

两个int相除,结果还是int,3/2=1 所以会走你case 1的

不可以,只能是整数

整型(char也行)

这种问题,你自己写几句代码编译一下看看不就知道了,还用问别人吗
switch判断的必须是整型或枚举类型

只能为 整型 。switch 入他的意思一样,是开关 。只有一号开关 二号开关 ,一楼二楼三楼,负一楼。没有0.5号开关的。理论上 除了double 和 float 其他的都可以传入 switch。