-1
Q
开关,案件在C
A
回答
1
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
的某个数字。
相关问题
- 1. 案例/开关在C不工作
- 2. 不从开关案件
- 3. 诠释开关案件
- 4. C - 多个案例号的开关
- 5. LINQ-C中的选择开关案例#
- 6. 案例在保护开关
- 7. XSL开关案例
- 8. Java的开关撞倒两个案件
- 9. Java的开关匹配多个案件
- 10. 开关/案件没有中断DllMain
- 11. 做开关/案件是否贯穿?
- 12. jQuery的 - 开关罩到开关罩 - 清除开关案例
- 13. 字符数组上的C/C++开关案例
- 14. onMarkerClick使用开关案例
- 15. PHP开关案例问题
- 16. 复杂开关案例SQL
- 17. PHP案例开关(效率)
- 18. 布尔开关案例
- 19. PHP开关/案例json_encode
- 20. 开关案例程序
- 21. PHP开关案例问题
- 22. 开关/案例问题
- 23. 开关...案例不工作
- 24. 按钮开关案例
- 25. 为什么开关语句在案例
- 26. 替代开关案例在android
- 27. 在条件内打破一个案例(在一个开关中)
- 28. Android开发开关案例问题
- 29. 黑莓10开发开关案例
- 30. 在多个案例运行功能的开关案例?
要么计算在case-statements中使用的唯一序号,要么使用if语句。 –
你不能,但你可以针对关键字数组测试该单词,并使用匹配的索引作为开关案例。或者,您可以将具有唯一首字母的单词用于开关盒。 –
Chek [this](https://stackoverflow.com/questions/4014827/best-way-to-switch-on-a-string-in-c)out。 –