当前位置: 首页 > 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行业应用落地方案——阿里云百炼
  • 史学巨擘的思想地图与学术路径——王汎森解析梁启超、陈寅恪、傅斯年
  • 腾讯重构混元大模型研发体系:成立大语言和多模态模型部,提升AI长期技术作战能力
  • 一位排球青训教练的20年时光:努力提高女排球员成才率
  • 西班牙葡萄牙突发全国大停电,欧洲近年来最严重停电事故何以酿成
  • 古籍新书·2025年春季|中国土司制度史料集成
  • 全球前瞻|王毅赴巴西出席金砖外长会,加拿大迎来“几十年来最重要大选”