objective-c - c中的模拟器/生成的switch语句范围

标签 objective-c c macros switch-statement c99

在 c(99?) 或 Objective-C switch 语句中是否有支持范围大小写的技巧? 我知道不支持这样写:

switch(x)
   case 1:
   case 2..10:
   case 11:

但我在想应该有一种方法可以用#define 宏生成代码。当然 我可以用案例列表定义一个宏,但我希望有一种更优雅的方式,比如 CASERANGE(x,x+10) 会生成:

case x
case x+1
case x+2

有可能吗?

最佳答案

GCC 有一个 extension to the C language这允许类似于您的第一个示例的事情,但除此之外,如果有一种可移植/ANSI 的方式来做这件事,那么现在就已经完成了。我不相信有。

关于objective-c - c中的模拟器/生成的switch语句范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4680502/

相关文章:

objective-c - 如果字符串没有给出任何值,则标签显示 null ....如果字符串没有给出任何值,则不显示任何内容

c - 我试图编写一个函数来查找两个数组的交集

c - 使用指针和引用函数

c - 有没有一种方法可以同时检查宏是否已定义并且它等于某个值

c++ - 禁用 __LINE__ 宏?

objective-c - AVAssetReader 到 AudioQueueBuffer

ios - 处理 UITableView 中自定义单元格的点击不会发生

写入宏的宏-编译错误

iphone - 在 UITextView 上滚动内部阴影

c - 打印字符串的字母频率