当前位置: 首页 > news >正文

C语言编译预处理1

宏定义:宏定义是在编译之前,由预处理器对代码中的宏名进行文本替换的过程。通过 #define 指令来定义宏,它可以是简单的常量,也可以是带参数的代码片段。

#include "stdio.h"

#define x 2
#define y 3
#define m(a,b) a>b?a:b  //三元运算符

int main()
{
	int result,t,g;
	
	t=x;
	g=y;	
	result=t+g;
	
	printf("result = %d\n",result);
	
	result=m(3,2);
	printf("result = %d\n",result);	
} 
//输出是5和3

宏定义只是简单的文本替换,不会进行类型检查

#undef

一旦使用 #undef 取消了某个宏的定义,在后续的代码中,该宏名就不再代表之前定义的替换文本,除非再次使用 #define 重新定义它。

#include "stdio.h"

#define x 2
#define y 3
#define m(a,b) a>b?a:b

int main()
{
	int result,t,g;
	
	t=x;
	g=y;	
	result=t+g;
	
	#undef m(a,b)
	#define m(a,b) a<b?a:b 
	
	printf("result = %d\n",result);	
	result=m(3,2);
	printf("result = %d\n",result);	
} 
//输出是5和2 

相关文章:

  • LR(0)
  • DAP-seq(DNA亲和纯化测序)
  • 数据库原理及应用mysql版陈业斌实验三
  • Kafka使用方式与底层原理解析
  • 详解如何复现DeepSeek R1:从零开始利用Python构建
  • Linux LED驱动(设备树)
  • AI云游戏盒子:未来娱乐的新纪元
  • 给网站添加文本水印
  • 记一次 .NET某固高运动卡测试 卡慢分析
  • 记录一次JVM调优过程2
  • Day31笔记-进程和线程
  • HarmonyOS-ArkUI V2装饰器: @Monitor装饰器:状态变量修改监听
  • C++运算符重载全面总结
  • 【题解-Acwing】831. KMP字符串
  • 【Python爬虫】简单介绍2
  • 【美容和医美作为智商税的本质】
  • 使用 Python 实现凯撒密码的加密、解密及破译算法
  • 64. 评论日记
  • C++ Primer Plus 章节编程题练习 1-9章包含题目,答案以及知识点总结
  • 企业级RAG行业应用落地方案——阿里云百炼
  • 玉渊谭天丨中方减少美国农产品进口后,舟山港陆续出现巴西大豆船
  • 2025厦门体育产业采风活动圆满举行
  • 梅花画与咏梅诗
  • 民航局:预计五一假期民航旅客运输量创同期历史新高,将加强价格管理
  • 从地下金库到地上IP,看海昏汉文化“最美变装”
  • 新城市志|中国消费第一城,迎来“补贴力度最大”购物节