C语言宏替换比较练习
题目描述
关于#include 的应用练习。
test.h 文件代码如下:
#define LAG >
#define SMA <
#define EQ ==
主文件代码
#include "test.h"
#include <stdio.h>
int main()
{int i=10;int j=20;if(i LAG j)printf("%d 大于 %d \n",i,j);else if(i EQ j)printf("%d 等于 %d \n",i,j);else if(i SMA j)printf("%d 小于 %d \n",i,j);elseprintf("没有值。\n");return 0;
}
关键在于理解宏定义 #define 的替换机制与条件判断逻辑的结合运用。通过 test.h 中 #define 将 LAG 、 SMA 、 EQ 分别替换为 > 、 < 、 == ,主程序里借助这些宏定义简化比较符号书写,核心是预编译阶段宏会被原样替换,进而让 if-else 条件判断依据替换后的比较逻辑执行,以此实现对变量 i 和 j 大小关系的判断与输出。
输出结果
10 小于 20