if (x>0 && x<6)
{
break;
}
else if(x>6)
{
break;
}对比
if (x>0)
{
if (x<6)
{
break;
}
}
else
{
if (x>6)
{
break;
}
}代码1不起作用,但代码2起作用。为什么?我是一个编程高手,所以请任何帮助都会很好。编程语言是C.
发布于 2022-05-03 12:51:11
第二个代码段中的The语句永远不会获得x的任何正值的控件,因为第一个if语句的条件一次计算为逻辑true。
if (x>0) {
if (x<6)
{
break;
}
}
else {
if (x>6)
{
break;
}
}在第一个代码段中,any语句将获得任何x值等于或大于6的控件。
例如,如果x等于7,那么第一个if语句中的条件
if (x>0 && x<6)
{
break;
}计算结果为逻辑错误。因此,sub语句获得控件,if子状态器的条件也计算为逻辑true。
else if(x>6)
{
break;
}发布于 2022-05-03 12:57:27
如果x优于0,那么它会进入if (x>0),所以它绝对不可能到达else中的if (x>6)。
我不知道你所说的“它起作用”是什么意思“它不起作用”,但是,第二个例子在我看来是不好的,不清楚,而且不是每个案例都被处理。而第一个允许更清晰和更好地处理案例。
第二个示例基本上只处理0和6之间的值。第一种方法处理0和+ int max值之间的任何情况
https://stackoverflow.com/questions/72099561
复制相似问题