C templet and switch case with serial number

简介: 1 /************************************************************************** 2 * C templet and switch case with serial number 3 * 声明: 4 * 1、本文参考《Android底层开发技术实战详解--内核、移植和驱动》。
 1 /**************************************************************************
 2  *             C templet and switch case with serial number
 3  * 声明:
 4  *   1、本文参考《Android底层开发技术实战详解--内核、移植和驱动》。
 5  *   2、其中书上泛形部分写法有错,需要在行尾加上反斜杠。
 6  *
 7  *                             2015-7-19 晴 深圳 南山平山村 曾剑锋 星期日
 8  *************************************************************************/
 9 #include <stdio.h>
10 
11 /**
12  * 实现了C++里的泛形的写法,也就是模板
13  */
14 #define min( x, y ) ({                  \
15     typeof(x) _min1 = (x);              \
16     typeof(y) _min2 = (y);              \
17     _min1 < _min2 ? _min1 : _min2; })   \
18 
19 int  main( int argc, char** argv ) {
20     printf( "min(1, 2) = %d", min( 1, 2 ) );
21 
22     int major_idx = 3;
23     switch ( major_idx ) {
24     case 0:
25         printf( " 0.\n");
26         break;
27     case 1 ... 4:               // 一定要记得...两边有空格
28         printf( " 0...4.\n");
29         break;
30     default:
31         printf( "default.\n");
32         break;
33     }
34 }

 

目录
相关文章
|
14天前
|
编译器
if-else对比switch-case
`if-else`和 `switch-case`是两种常用的控制流语句,各有优缺点和适用场景。`if-else`语句灵活性高,适用于复杂的条件判断;而 `switch-case`语句结构清晰,适用于处理固定的离散值。在实际应用中,根据具体需求选择合适的控制流语句,可以编写出高效、可维护的代码。
26 6
|
6月前
|
Java
switch的使用
这段 Java 代码首先提示用户输入一个代表月份的数字。通过 `Scanner` 类从键盘接收输入后,使用 `switch` 语句根据输入的数字来判断所属季节并输出相应的信息。例如,1、2 或 12 月为冬季。若输入不在 1 至 12 的范围内,则输出错误信息。此外,还展示了仅针对单个特定月份(如 1 月)进行匹配的简化示例。 ```markdown - 提示用户输入月份。 - 使用 `Scanner` 获取输入。 - 通过 `switch` 语句根据输入判断季节。 - 输出对应季节或错误信息。 - 展示了处理单个和多个月份的 `case` 示例。 ```
55 4
|
Java 编译器 C语言
【C/C++】 switch-case 详解/全面总结
关于 C语言/C++ 中,switch-case 的尽量详细和全面的解释与总结
1057 0
enum和switch case结合使用
在将enum和switch case结合使用的过程中,遇到了这个错误:“An enum switch case label must be the unqualified name of an enumeration constant”。
|
Dart
Dart之break、continue/ switch...case
Dart之break、continue/ switch...case
116 0
Dart之break、continue/ switch...case
switch case 执行
switch case 执行
145 0
|
C#
switch case语句
switch case语句
213 0
switch—case需要注意的点
switch—case需要注意的点
264 0
switch—case需要注意的点