C语言中可不可以对define进行条件选择

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中可不可以对define进行条件选择相关的知识,希望对你有一定的参考价值。

比如说define LETTER 1,我设个if条件语句(比如a.b),可以使LETTER自动转为0,不需要手动修改参数了,请问可不可以这样;如果不可以的话的请告诉我能不能通过某种方式自动让LETTER转化参数。

可以使用条件编译:

#if a==1
#define LETTER 1
#else
#define LETTER 2
#endif

注意,a也必须是一个符号常量才可行!
参考技术A 支持楼上的!!!

如何在switch语句中选择一个值范围

选择一个值的范围?不知道我这个答案您满不满意

建议你这样试试看:

/*C语言 switch() 范围的选择判断*/
#define Min1 5
#define Max1 15

#define Min2 15
#define Max2 20

void switch_range()

//方法① switch语句可以用…来判断范围,要注意其边界条件(且为包含)
switch(x)

case Min1 ... Max1:       //等价于    5<=x && x<=15;
;
break;
case Min2 ... Max2:      //等价于    15<=x && x<=20;
;
break;
default:
break;


//方法② 另一种常用方法是将其 “/5取商” 常量判断
int x;
switch(x/5)

case 1:     //5-9

case 2:     //10-14
printf("5-14");
break;

case 3:    //15-19
printf("15-19");
break;
default:
break;

参考技术A Switch用在编程中,如C语言中它经常跟Case一起使用,是一个判断选择代码。其功能就是控制业务流程流转的。
switch语句,即“切换”语句;case即“情况”。
switch语句的语法如下(switch,case和default是关键字):
switch ( controllingExpression )
case constantExpression1 :
case constantExpression2 :
case constantExpression3 :
statements; /*当满足constantExpression1、constantExpression2、constantExpression3任何一个都执行statements */
break;
case constantExpression :
statements ;
break;
...
default :
statements ;
break;

以上是关于C语言中可不可以对define进行条件选择的主要内容,如果未能解决你的问题,请参考以下文章

c语言 define 怎么用的

define的用法

c语言中#if defined是啥含义 怎么用

如何在switch语句中选择一个值范围

#ifndef, #define, #endif 作用

c语言define用法