关于C语言中#if的用法

如题所述

第1个回答  2019-11-08
#if
是预编译命令。它的条件只能是一些定值:预定义变量、预定义字符串。这里num(0)
需要在运行时才有返回值。
第2个回答  2020-04-26
这个是条件编译命令,表示SPEND为真时,下面的语句才能加入编译器进行编译,为假时,下面的语句不参与编译。可以去掉defined
#if
1
#if
defined(SPEND)
#if
0
#if
defined(SPEND)
#endif和
#endif
当SPEND为真时,效果一样,
#endif

#endif
当SPEND为假时,效果一样。
比如:
main()
{
char
a[]="a参加了编译";
char
b[]="b参加了编译";
#if
defined(M)
printf("%s\n",a);
#endif
printf("%s\n",b);
}
当M为真时,编译器先把代码变成:
main()
{
char
a[]="a参加了编译";
char
b[]="b参加了编译";
printf("%s\n",a);
printf("%s\n",b);
}
再编;
当M为假时,会变成这样再编:
main()
{
char
a[]="a参加了编译";
char
b[]="b参加了编译";
printf("%s\n",b);
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网