繁体   English   中英

如何使用以下预处理程序语句

[英]How to use the following preprocessor statement

#define IS_THIS_CORRECT(X) if(X){}

我在项目中定义了此预处理程序语句。 我试图了解如何使用此功能。

#define IS_THIS_CORRECT(X) if(X){}

它可以用来检查X (任何值)是否不为零或不是空字符串等。您可以执行以下操作

IS_THIS_CORRECT("Hello")
else puts("The string is empty");

您最好用另一对大括号将X包围起来,以提高安全性:

#define IS_THIS_CORRECT(X) if((X)){}

我建议您将此预处理器语句重命名为IT_IS_CORRECT甚至IS_CORRECT以提高可读性。

就目前而言,除了您只想根据X的值处理FALSE情况外,几乎没有任何有意义的用途。

恕我直言,您可以将其重写为

#define IS_THIS_CORRECT(X) if(X)

然后,您可以像

 int p = 5;
 IS_THIS_CORRECT(X)
 {
      printf("yay !!!\n");
 }

我正在猜测,但是对我来说这唯一有意义的唯一方法是是否应该将其用作

IS_THIS_CORRECT(foo) else { do_something(); }

不过还是很奇怪。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM