【发布时间】:2016-08-24 14:16:59
【问题描述】:
我对宏很陌生。
我知道如何使用三元运算符来使用 if 条件。
如何将其转换为 #define
if(i==j)
{
count=count+1;
break;
}
我试试运气,但似乎是错的:
#define ifcount(i,j) ((i)==(j)? count=count+1\
break:0)
这是我要转换的代码 http://pastebin.com/i7Tuyh00
【问题讨论】:
-
你认为为什么需要将它转换成三进制?你可以在宏中很好地写
if。只是不要忘记换行符中的反斜杠...... -
不要滥用宏。保留代码中的中断,以便任何阅读它的人都能理解。
-
@hacks 它在第二行,如果条件不正确,我想要什么都没有发生
-
不要更改宏内外部代码的控制流程!没有人会理解您的代码的作用。这包括几周/几个月后的你自己!
-
@EugeneSh。嗨,我看到了这个,所以我认为这将被使用stackoverflow.com/questions/12989298/…
标签: c macros c-preprocessor