043用宏定义实现值互换

1.题目

试定义一个带参数的宏swap(a,b),以实现两个整数之间的交换,并利用它将一维数组a和b的值进行交换。

2.代码

#include<stdio.h>
#define swap(a,b) {int c;c=a;a=b;b=c;}
int main(void)
{
	int a[10], b[10];
	//输入数组a,b
	printf("请输入数组 a:\n");
	for (int i = 0; i < 10; i++)
	{
		scanf("%d", &a[i]);				//输入一组数据到数组a中
	}
	printf("\n请输入数组 b:\n");
	for (int j = 0; j < 10; j++)
	{
		scanf("%d", &b[j]);				//输入一组数据到数组b中
	}

	//输出数组a,b
	printf("\n数组a是:\n");
	for (int i = 0; i < 10; i++)
	{
		printf("%d,", a[i]);				//输出数组a的内容
	}
	printf("\n数组b是:\n");
	for (int j = 0; j < 10; j++)
	{
		printf("%d,", b[j]);				//输出数组b的内容
	}

	//使用宏定义函数swap
	for (int i = 0; i < 10; i++)
	{
		swap(a[i], b[i]);				//实现数组a与数组b对应值互换
	}

	//输出互换后的数组a,b
	printf("\n现在数组a是:\n");
	for (int i = 0; i < 10; i++)
	{
		printf("%d,", a[i]);			//输出互换后数组a中的内容
	}
	printf("\n现在数组b是:\n");
	for (int j = 0; j < 10; j++)
	{
		printf("%d,", b[j]);			//输出互换后数组b中的内容
	}

	return 0; 
}

3.个人见解

1.对带参数的宏的展开只是将语句中的宏名后面括号内的实参字符串代替#define命令行中的形参。
2.在宏定义时,在宏名与带参数的括号之间不可以加空格,否则将空格以后的字符都作为替代字符串的一部分。
3.在带参宏定义中,形式参数不分配内存单元,因此不必作类型定义。

4.输出结果截图

043用宏定义实现值互换

5.相关下载

关于前43道例题的源码,题目,输出结果截图均在下方下载地址中。
https://download.csdn.net/download/mosi357/12283097

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值