##预处理运算符 的作用是在宏定义中运算符中左右两边的符号连接成一个符号。
例如#define CON(a,b) a##b
CON(5,3)就表示是53 CON(a,3)就表示是a3
下面看一下实例
源码如下
#include<stdio.h>
#include<stdlib.h>
#define CON(a,b) a##b
int main(void)
{
int a;
int a1 = 1;
int a2 = 2;
int a3 = 3;
a = CON(2,5);
printf("a = %d\n",a);
printf("a1 = %d\n",CON(a,1));
printf("a2 = %d\n",CON(a,2));
printf("a3 = %d\n",CON(a,3));
system("pause");
return 0;
}
其运行结果如下图
#argument该结构的作用是在宏定义中将参数argument相对应的字符串”argument“
实例如下
代码:
#include<stdio.h>
#include<stdlib.h>
#define PRINT(pvalue,pformat) printf("The value of "#pvalue" is " pformat "\n" ,pvalue)
#define TOString(argument) #argument
int main(void)
{
int x = 5;
char a[20] = TOString(x+5);
printf("%s\n",a);
PRINT(x+3,"%d");
system("pause");
return 0;
}
运行结果如下图