关于宏 即#define命令
格式:#define <宏名/标识符> <字符串> eg:#define PI 3.140
需要注意1.一般宏名需要大写 2.宏定义末尾不用加分号
其他其实都很基本啦,还要注意的是有多行宏定义
【转】C语言中DEFINE简介及多行宏定义 EXample define的单行定义 #define maxi(a,b) (a>;b?a:b) define的多行定义:当替换列表一行写不下时,可以使用反斜线\作为续行符延续到下一行 #define MACRO(arg1, arg2) do { \ \ stmt1; \ stmt2; \ \ } while(0) 关键是要在每一个换行的时候加上一个 "\ " //宏定义写出swap(x,y)交换函数 #define swap(x, y)\ x = x + y;\ y = x - y;\ x = x - y;
如下面我写的代码所示其实也不用换行,直接写
代码部分:
#define _CRT_SECURE_NO_DEPRECATE
#define swap(x,y) do{x=x+y;y=x-y;x=x-y;}while(0)
#include <stdio.h>
void main()
{
int a[3], b[3];
int i;
printf("请输入3位 数组a:");
for (i = 0; i < 3; i++)
scanf("%d",&a[i]);
printf("请输入3位 数组b:");
for (i = 0; i < 3; i++)
scanf("%d", &b[i]);
for (i = 0; i < 3; i++)
{
swap(a[i], b[i]);
}
printf("交换后\n");
printf("数组a为:");
for (i = 0; i < 3; i++)
printf("%d ", a[i]);
printf("\n");
printf("数组b为:");
for (i = 0; i < 3; i++)
printf("%d ", b[i]);
}
运行结果: