【c程序】关于宏

/******************************************************/
/**************---About   Macro----------**************/
/**************---Author: Tibruce Zhao---**************/
/**************---Date:   2015/7/31------**************/
/******************************************************/ 

#include<iostream>
#include<stdio.h>
//This is Macro.
#define PI 3.1415926
//#define H printf("Hello,the world!\n");
//符号"\"为续行符
#define I\
	    int n;\
		printf("请输入一个整数:");\
		scanf("%d",&n);\
		printf("你输入的是%d的一半\n",n+n);
using namespace std;
#ifndef H				//如果没定义H
	#define H cout<<"Hello,the Chain!!"<<endl;
#else
	#define __H H	   
	#undef  H		   //取消对H的定义
	#define H "***"
#endif

//标准模型
#ifndef VX
#define VX 1
		int x=3;
#endif

//定义函数,宏函数。
#define SWAP(T,x,y)		{T t=x;x=y;y=t; }
#define MAX(x,y)        x<y?y:x
#define STR(x)  puts(#x)//“#”把参数变为对应的字符串

void welcomestudent(){printf("欢迎各位同学 \n");}
void welcomestudent(){STR(欢迎各位同学);}
void welcometeacher(){printf("欢迎各位老师 \n");}
#define welcome(who) welcome##who()  //##用于拼接

int main()
{
	H
	I
	int a=10,b=20;
	double c=12.3,d=45.6;
	SWAP(int,a,b);//{T t=x;x=y;y=t; }
	SWAP(double,c,d);
	printf("a=%d,b=%d\n",a,b);
	printf("c=%g,d=%g\n",c,d);
	printf("%d\n",MAX(a,b));
	//printf("%d\n",MAX(++a,++b));//宏函数最好不用这样的运算符(++)
	cout<<"*******************************************"<<endl;
	STR("HELLO,THE WORLD!");
	welcome(student);
	welcome(teacher);
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值