【发布时间】:2012-06-25 14:40:04
【问题描述】:
我在使用以下 switch 语句时遇到了一些非常奇怪的行为:
string recognise_mti(int mti_code)
{
switch(mti_code)
{
case 1100:
case 1101:
return (mti_code + " (Auth. Request/Repeat)"); break;
default:
return (mti_code + " (NOT RECOGNISED)"); break;
}
}
它似乎根据输入的整数返回各种东西。这可能会变成一个愚蠢的错误,但到目前为止,我无法识别它。感谢任何帮助。
【问题讨论】:
-
您可能需要详细说明收到的结果。
-
与您的问题无关,但是当
return作为case中唯一的事情时,您不需要break。原因是return返回,break不会被执行。当然,现代编译器可能会注意到这一点,并且不会为break生成代码。 -
@JoachimPileborg 啊,我不知道,谢谢!
标签: c++ int switch-statement case