开关,案件在C
答
A switch
声明只不过是一些优化选项而已。任何switch语句都可以作为if...then...else if...
语句来实现。
在C的优化为整数且它不能处理字符串
从而为串A女巫声明将是一个if...then...else if...
语句中使用strcmp
,例如betwee一个switch
声明
if (strcmp(a,"hello")==0) {
//case "hello"
}
else if (strcmp(a,"world")==0) {
// case "world"
}
else {
// default
}
一个区别和if..then..else
说法是,后者并不知道“落通”,它不能被模拟,除非使用goto
(这是鼓励)。
对你的问题的评论也暗示比蛮力字符串比较更高级的方法。所有这些方法都尝试使用字符串的一些独特特征来转化为可以实施switch
的某个数字。
要么计算在case-statements中使用的唯一序号,要么使用if语句。 –
你不能,但你可以针对关键字数组测试该单词,并使用匹配的索引作为开关案例。或者,您可以将具有唯一首字母的单词用于开关盒。 –
Chek [this](https://*.com/questions/4014827/best-way-to-switch-on-a-string-in-c)out。 –