switch 和 #define #undef 结合使用
·
switch 和 #define #undef 结合使用,以达到代码简洁的效果(省略很多case)
适用情况:对于相同操作的代码块,使用这样的定义,会使得函数整洁。
不只是适用于switch,也适用于if 、else中
#include <stdio.h>
void testFun(int ID)
{
switch(ID)
{
#define TEST(ID) case ID: printf("ID:%d\n", ID); break
//下面这两个TEST的使用,也可以使用.h头文件去定义,只需要包含头文件即可,例如 #include "testDef.h"
TEST(1);//case 1
TEST(2);//case 2
#include "testDef.h"
//预编译结束后(字符串复制完成),就把TEST(ID)宏定义释放
#undef TEST
default:
printf("default\n");
break;
}
}
int main()
{
testFun(0);
testFun(1);
testFun(2);
testFun(3);
testFun(4);
printf("main\n");
return 0;
}
testDef.h
TEST(3);//case 3
TEST(4);//case 4
运行结果:
default
ID:1
ID:2
ID:3
ID:4
main
更多推荐
所有评论(0)