66问答网
所有问题
C语言,是否允许宏定义里加入条件编译? 例如: #define ABC\ #if 0\ ……\ #else\ ……\ #endif
如题所述
举报该问题
推荐答案 2012-03-13
不能。#define #if #else是预处理指令,编译器不做预处理的嵌套工作。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://66.wendadaohang.com/zd/pvDU99Uxv.html
其他回答
第1个回答 2012-03-13
可以用这种结构
#ifdef ...
.....
#else
....
相似回答
C语言
学习第18篇---
宏定义
与使用 /
条件编译
使用分析
答:
C语言中
的宏定义和
条件编译
是两个重要概念,它们为代码编写提供了灵活性和效率。首先
,宏定义
是预处理器处理的一种特殊指令,通过
#define
可以创建常量或表达式,它们可以在程序的任何位置使用,但需注意宏的表达式处理方式类似于函数调用,可能更容易出错。
例如:
cpp define MY_CONSTANT 100 MY_CONSTANT; /...
C语言:
预处理是什么意思?就是看不懂这句话的解释!越具体越好,也可以通 ...
答:
预处理,再编译前需要做的工作。预处理主要处理两部分东西,头文件和宏。对于头文件,做展开操作。比如再某个.c中include了一个头文件,这一行预处理时就会被替换为头文件的内容。对于
宏,
比如你
define
了一个宏。这里就会把
程序里面
所有用到这个宏的地方替换掉。当然宏还有其他操作,但是它们都是再预处...
C语言
的预处理和
条件编译
指令
答:
条件编译
指令
允许程序
员根据
宏定义
或表达式的值决定代码的编译。
例如,#if
def MAVIS会包含"horse.h",如果MAVIS未定义,则包含"cow.h"。预处理器还会通过#ifndef和
#define
的组合防止宏的重复定义,确保代码的唯一性。if指令根据条件编译代码,如SYS ==1时包含"ibmpc.h"。预
定义宏
如__LINE__和__FI...
求
C语言中
预
编译
命令表?
答:
程序段1 else 程序段2 endif 这里一定要是常量表达式,一般为宏。若是表达式包含变量则编译器只能随便猜一个了。 第三种形式含有#elif,看个例子吧
#define
ABC
3 void main(){
#if
ABC>0 int a=1;printf("%d/n",a);elif ABC<0 int b=-1;printf("%d/n",b);else int c=0;printf("...
C语言中条件编译
的作用
答:
条件编译
属于三种
宏定义中
的一种,条件指示符的最主要目的是防止头文件的重复包含和
编译,例如:
一个c文件包含同一个h文件多次,如果不加
#if
ndef宏定义,会出现变量重复定义的错误 条件编译常用的有四个预处理命令:#if、#else、#elif、#endif。if指令的形式为:if 常量表达式代码块#endif#if后面的常量...
C语言宏定义条件编译
问题
答:
我觉得你可能是少打了一些字母 完整的程序如下 在我的编译器上试过 三个都是一样的 include<stdio.h>
define
LETTER 1 void main(){ char str[20]="C Language"
,c;
int i=0;while((c=str[i])!='\0'){ i++;ifndef LETTER if(c>='a'&&c<='z')c=c+32;else if(c>='a'&&c...
大家正在搜
C语言编译系统对宏定义的处理
c语言宏定义用法
c语言中的宏定义
c语言用gets输入字符串
c语言转义字符表
c语言工程文件结构与组织
解除宏定义
C语言外部变量
c语言中strcpy怎么用
相关问题
C语言宏定义 用条件编译
C语言宏定义条件编译问题
C语言:条件编译的标识符不能放在程序里面宏定义吗?
“C语言的预处理 不能实现宏定义和条件编译的功能”和“C语言...
请问在C语言中#if (0) define .. ; 请问这...
C语言中的条件编译 #if define(宏名称)为什么错误...
#define的空宏定义会不会影响条件编译?
C语言,#define语句的用法。