c – 在#define定义中获取变量值
发布时间:2020-12-16 09:48:22 所属栏目:百科 来源:网络整理
导读:这是我想要做的. step1)我想调用一个带有条件语句的宏(简单是复合的)就像 例如: MACRO1(a==1) MACRO1((i!=NULL) (j10)) step2)以下是我如何定义这个宏 #define MACRO1(condition) if(!(condition)) ?????????????????????????? 这里在宏的定义中,如果条件
这是我想要做的.
step1)我想调用一个带有条件语句的宏(简单是复合的)就像 例如: MACRO1(a==1) MACRO1((i!=NULL) && (j>10)) step2)以下是我如何定义这个宏 #define MACRO1(condition) if(!(condition)) ?????????????????????????? 这里在宏的定义中,如果条件语句失败.我想打印变量值,以便了解确切原因. 解决方法
你可以沿着这些方向做点什么:
#define MACRO1(condition,msg) if(!(condition)) { printf msg; } 并按如下方式使用: MACRO1(a==1,("a: %dn",a)) MACRO1((i != NULL) && (j>10),("i: %p,j: %dn",i,j)); C预处理器只是一个简单的替换引擎,没有分析表达式内容的能力. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |