当前位置: 首页 > 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 

http://www.dtcms.com/a/131790.html

相关文章:

  • 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行业应用落地方案——阿里云百炼
  • 阿里云域名解析
  • 循环链表的基本操作及C语言代码实现
  • 高性能编程之分支预测
  • Mysql数据库基本操作-DML
  • 阿里计算机专业面试黄金宝典2
  • Hadoop大数据平台部署(Hadoop3.2.4+Hive4.0.1)
  • RabbitMQ 深度解析:从基础到高级应用的全面指南
  • 使用 Axios 进行 API 请求与接口封装
  • 傲梅分区助手单文件版:无损分区管理工具
  • 正版金币捕鱼海洋管家APP源码结构解析与运行环境说明