小编Gin*_*hta的帖子

在宏中使用三元运算符

我正在尝试将2个宏模板组合成第三个模板,以基本检查输入的字符是否为字母.我正在尝试将三元运算符用于前两个宏,然后使用#if指令得出结论,但一些语法错误不断出现.也许有人可以帮帮我吗?

#define SMALLCASE(X) (X>96&&X<123)?1:2); 
#define UPPERCASE(X) (X>64&&X<91)?1:2);
#define TEST(X) (SMALLCASE(X))&&(UPPERCASE(X))

/*in main() after reading character*/
#if TEST(ch)
printf("Entered character is an alphabet");
#else
printf("Entered character isn't an alphabet");
#endif
printf("%d",SMALLCASE(ch));
Run Code Online (Sandbox Code Playgroud)

c macros ternary-operator

2
推荐指数
1
解决办法
4440
查看次数

标签 统计

c ×1

macros ×1

ternary-operator ×1