【发布时间】:2014-12-30 04:46:52
【问题描述】:
在下面的示例中,我在处理 break 语句时遇到了问题。对于 country = US,somearray 的长度仅为 1。但在“DE”的情况下,长度大于一。但是给定程序,由于 break 语句用于在处理第一行后退出,因此它不适用于 DE 国家,因为 DE 国家有不止一行。 using 是一种更好的方法,检查是否有某种方式我也可以对国家 =DE 重新使用相同的逻辑
if(country == "US" || country == "DE")
{
for(int i = 0; i < somearray.length(); i++)
{
if( (payment == "USD") )
{
if(amount > 0)
{
//do something
}
if( balance.is_positive())
{
// do something
}
break;
}
}
}
注意:这不是实际代码..只是写了一个例子来理解..
【问题讨论】:
-
为什么不直接删除
break? -
付款与什么有关?它只适用于美国国家吗?因为据我所知,你的休息取决于付款而不是 somearray
-
@Codeek,哎呀,错过了,谢谢
-
=是分配。你的意思要么是==要么是strcmp -
我同意阿尔夫的观点。如果您说的是真的,那么
break首先毫无意义。您已经说过“对于国家 = 美国,somearray的长度仅为 1”。 IE。在迭代之后你会打破 anyway 因为 for 循环的条件将失败,因此会自行中断。