宏的基础代码

这篇博客深入探讨了C语言中的宏定义,包括带参数的宏和预定义宏的使用,并通过代码示例展示了如何进行条件编译,帮助读者理解宏在实际编程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(一)带参数的宏 代码

#include<stdio.h>
#pragma warning(disable:4996);
#define MAX(a,b) (a>b)?a:b
main() {
	int x, y, max;
	printf("input two numbers:  ");
	scanf("%d %d", &x, &y);
	max = MAX(x, y);
	printf("max=%d\n", max);
}

(a)结果演示

在这里插入图片描述

  • 要把.cpp改成.c文件 不然会报错
    在这里插入图片描述

(二)预定义宏 代码

#include<stdio.h>
int main()
{
	printf("The file is %s.\n", __FILE__);
	printf("The date is %s.\n", __DATE__);
	printf("The time is %s.\n", __TIME__);
	//printf("The line is %s.\n", __LINE__); 不可用
	return 0;
}

(b)结果演示

在这里插入图片描述

(三)条件编译 代码

#include<stdio.h>
int main()
{
	int a = 10;
#if(a>1)
	printf("a >1");
#else
	printf("a=1");
#endif
	return 0;
}

(c)结果演示

在这里插入图片描述

(四)条件编译2 代码

#include<stdio.h>
#pragma warning(disable:4996);
#define DEBUG   //调试状态
int main()
{
#if defined(DEBUG)
	printf("Beginning execution of main()\n");
#endif
	int arrNumber[100] = { 0 };
	int nNumber = 0;
	int nCount = 0;
	while (1)
	{
		scanf("%d", &nNumber);
#if defined(DEBUG)
		printf("Debug: nNumber = %d \n", nNumber);
#endif

		if (-888 == nNumber || 100 == nCount)
		{
			break;
		}
		arrNumber[nCount++] = nNumber;

	}
	return 0;

}

(d)结果演示

在这里插入图片描述



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值