关于C语言中#if的用法

#if defined(SPEND)
.
.
#endif 该结构是不是表示当SPEND为真是执行下面的条件语句?如果是那可不可以把define去掉?如果不是那define是干什么用的?

这个是条件编译命令,表示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);

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-09-21
在c语言中游学多函数用法都有很大考究,如何正确使用也是很关键的,今天学习啦小编在这里为大家介绍c语言函数if的用法,希望对大家有所帮助!
  c语言函数if的用法:函数if的意思
  IF函数一般是指Excel中的IF函数,根据指定的条件来判断其“真”(TRUE)、“假”(FALSE),根据逻辑计算的真假值,从而返回相应的内容。可以使用函数 IF 对数值和公式进行条件检测。
  c语言函数if的用法:函数语法
  IF(logical_test,value_if_true,value_if_false)
  Logical_test 表示计算结果为 TRUE 或 FALSE 的任意值或表达式。
  例如,A10=100 就是一个逻辑表达式,如果单元格 A10 中的值等于 100,表达式即为 TRUE,否则为 FALSE。本参数可使用任何比较运算符(一个标记或符号,指定表达式内执行的计算的类型。有数学、比较、逻辑和引用运算符等。)。
  Value_if_true logical_test 为 TRUE 时返回的值。
  例如,如果本参数为文本字符串“预算内”而且 logical_test 参数值为 TRUE,则 IF 函数将显示文本“预算内”。如果 logical_test 为 TRUE 而 value_if_true 为空,则本参数返回 0(零)。如果要显示 TRUE,则请为本参数使用逻辑值 TRUE。value_if_true 也可以是其他公式。
  Value_if_false logical_test 为 FALSE 时返回的值。
  例如,如果本参数为文本字符串“超出预算”而且 logical_test 参数值为 FALSE,则 IF 函数将显示文本“超出预算”。如果 logical_test 为 FALSE 且忽略了 value_if_false(即 value_if_true 后没有逗号),则会返回逻辑值 FALSE。如果 logical_test 为 FALSE 且 value_if_false 为空(即 value_if_true 后有逗号,并紧跟着右括号),则本参数返回 0(零)。VALUE_if_false 也可以是其他公式。
  c语言函数if的用法:说明
  在EXCEL2003中 函数 IF 可以嵌套七层,在EXCEL2007中可以嵌套256层,用 value_if_false 及 value_if_true 参数可以构造复杂的检测条件。
  在计算参数 value_if_true 和 value_if_false 后,函数 IF 返回相应语句执行后的返回值。
  如果函数 IF 的参数包含数组( 用于建立可生成多个结果或可对在行和列中排列的一组参数进行运算的单个公式。数组区域共用一个公式;数组常量是用作参数的一组常量),则在执行 IF 语句时,数组中的每一个元素都将计算。
  WPS表格 还提供了其他一些函数,可依据条件来分析数据。例如,如果要计算单元格区域中某个文本字符串或数字出现的次数,则可使用 COUNTIf 工作表函数。如果要根据单元格区域中的某一文本字符串或数字求和,则可使用 SUMIf 工作表函数。请了解关于根据条件计算值。
  如果判断标准有汉字内容,则在汉字前后加上英文状态下的双引号""G2
  (例如:IF(G2="成都",400,200))
  c语言函数if的用法:函数示例
  1 数据
  2 50
  公式:=IF(A2<=100,"Withinbudget","Overbudget")
  说明(结果):如果上面的数字小于等于100,则公式将显示“Withinbudget”。否则,公式显示“Overbudget”。(Withinbudget)
  公式:=IF(A2=100,SUM(B5:B15),"")
  说明(结果):如果上面数字为100,则计算单元格区域B5:B15,否则返回空文本(""
第2个回答  推荐于2017-11-25
这是C++种的条件编译预处理命令
有两种格式:
1:#ifdef 标示符
程序段1
#else
程序段2
#endif
表示:如果标示符已经被#define命令定义过,则编译程序段1,否则编译程序段2
2:#if 表达式
程序段1
#else
程序段2
#endif
表示:如果表达式为真,则编译程序段1,否则编译程序段2.
你写出的命令应该属于格式1追问

#if defined(SPEND) 但是SPEND外面有个括号,难道没有关系?#if defined跟#ifdef是同一个东西?

本回答被提问者采纳
第3个回答  2012-04-27
这句话的意思是如果SPEND被define过了,则编译endif之前的内容。如果没有define过SPEND,则无视endif之前的内容。

相关了解……

你可能感兴趣的内容

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