if(c>='a'&&c<='z') c="c-32"; #else if(c>='A'&&c<='Z') c="c"+32; #endif printf("%c",c); } } 运行结果为:C LANGUAGE 现在先定义LETTER为1,这样在预处理条件编译命令时,由于LETTER为真(非零),则对第一个if语句进行编译,运行时使小写字母变大写。如果将程序第一行改为: #define...
...程序段1... #else ...程序段2... #endif 这里使用了#ifndef,表示的是if not def。当然是和#ifdef相反的状况(如果没有定义了标识符_XXXX,那么执行程序段1,否则执行程序段2)。 3:情况3: #if 常量 ...程序段1... #else ...程序段2... #endif 这里表示,如果常量为真(非0,随便什么数字,只要...
#if表达式 程序段1 #else 程序段2 #endif 它的作用是:当指定的表达式值为真(非零)时就编译程序段1,否则编译程序段2。可以事先给定一定条件,使程序在不同的条件下执行不同的功能。 例如:输入一行字母字符,根据需要设置条件编译,使之能将字母全改为大写输出,或全改为小写字母输出。 #define LETTER 1 main()...
#else if(c>='A'&&c<='Z') c="c"+32; #endif printf("%c",c); } } 运行结果为:C LANGUAGE 现在先定义LETTER为1,这样在预处理条件编译命令时,由于LETTER为真(非零),则对第一个if语句进行编译,运行时使小写字母变大写。如果将程序第一行改为: #define LETTER 0 则在预处理时,对第二个if语句...
这里主要是对条件编译(#ifdef,#else,#endif,#if等)进行说明。以下分3种情况:1:情况1:#ifdef _XXXX...程序段1...#else...程序段2...#endif 这表明如果标识符_XXXX已被#define命令定义过则对程序段1进行编译;否则对程序段2进行编译。例: #define NUM...#ifdef NUM printf("之前NUM有过定义啦!:) \...
#endif结束一个#if……#else条件编译块 #error停止编译并显示错误信息 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 一、文件包含 #include预处理指令的作用是在指令处展开被包含的文件。包含可以是多重的,也就是说一个被包含的文件中还可以包含其他文件。 标准C编译器至少支持八重嵌套包含。
#ifdef标识符 程序段1 #else 程序段2 #endif 它的作用是:当标识符已经被定义过(一般是用#define命令定义),则对程序段1进行编译,否则编译程序段2。其中#else部分也可以没有,即:#ifdef 程序段1 #denif 这里的“程序段”可以是语句组,也可以...
#if表达式 程序段1 #else 程序段2 #endif 它的作用是:当指定的表达式值为真(非零)时就编译程序段1,否则编译程序段2。可以事先给定一定条件,使程序在不同的条件下执行不同的功能。 例如:输入一行字母字符,根据需要设置条件编译,使之能将字母全改为大写输出,或全改为小写字母输出。 #define LETTER 1 main()...
#if(条件编译) #if的使用和if else的使用非常相似,一般使用格式如下 #if 整型常量表达式1 程序段1 #elif 整型常量表达式2 程序段2 #else 程序段3 #endif 执行起来就是,如果整形常量表达式为真,则执行程序段1,否则继续往后判断依次类推(注意是整形常量表达式),最后#endif是#if的结束标志 ...
在2.1节为了实现3个模块的条件编译,使用了三个`ifdef···`endif 块,这使得代码看起来很臃肿。就像你通常会使用 else if 和 else 来搭配 if 语句使用一样,你也可以使用 `else 与 `elsif 来搭配 `ifdef 使用。 `else 与 `elsif 的使用方法: