C语言 若有定义语句int a,b;double x;则下列选项中没有错误的是?选C?

C语言 若有定义语句int a,b;double x;则下列选项中没有错误的是?选C?
若有定义语句int a,b;double x;则下列选项中没有错误的是?选C?
switch(expr1)中,expr1只能是byte short int char类型.其他的类型不行
A)switch(x%2)
{case 0:a++; break;
case 1:b++; break;
default :a++; b++;
}
B)switch((int)x/2.0
{case 0:a++; break;
case 1:b++; break;
default :a++; b++;
}
C)switch((int)x%2)
{case 0:a++; break;
case 1:b++; break;
default :a++; b++;
}
D)switch((int)(x)%2)
{case 0.0:a++; break;
case 1.0:b++; break;
default :a++; b++;
}
其他人气:782 ℃时间:2019-11-01 02:13:24
优质解答
是的选c,A)switch(x%2) 中的x没有保证是整数而%要求两边都必须是整数
B)switch((int)x/2.0中()优先级高于/得到的数并不是整数而是浮点数
D)switch((int)(x)%2)
{case 0.0: a++; break;
case 1.0: b++; break;
default : a++; b++;
}中case0.0这数字类型以上面int不同希望对你有帮助
我来回答
类似推荐
请使用1024x768 IE6.0或更高版本浏览器浏览本站点,以保证最佳阅读效果。本页提供作业小助手,一起搜作业以及作业好帮手最新版!
版权所有 CopyRight © 2012-2024 作业小助手 All Rights Reserved. 手机版