#define    

 
  在#define中,标准只定义了#和##两种操作。#用来把参数转换成字符串,##则用来连接前后两个参数,把它们变成一个字符      串。
  

 #include<stdio.h>
#define paster(n) printf("token"#n"=%d\n",token##n) int main(int argc,char *argv[])
{
int token9=;
paster();
return ;
}
输出为:token =
  无参宏定义的一般形式为:#define 标识符 字符串
 
  其中的“#”表示这是一条预处理命令。凡是以“#”开头的均为预处理命令。“define”为宏定义命令。“标识符”为所定义的宏名。“字符串”可以是常数、表达式、格式串等。
  例如: #define M (a+b) 它的作用是指定标识符M来代替表达式(a+b)。在编写源程序时,所有的(a+b)都可由M代替,而对源程序作编译时,将先由预处理程序进行宏            代换,即用(a+b)表达式去置换所有的宏名M,然后再进行编译。
 
  

 #include<stdio.h>
#defineM(a+b) int main(intargc,char*argv[])
{
ints,a,b;
printf("inputnumbera&b:");
scanf("%d%d",&a,&b);
s=M*M;
printf("s=%d\n",s);
}
  带参的宏定义一般形式为:  #define 宏名(形参表) 字符串
  

 #include<stdio.h>
#define MAX(a,b)((a>b)?(a):(b)) int main(intargc,char*argv[])
{
intx,y,max;
printf("inputtwonumbers:");
scanf("%d%d",&x,&y);
max=MAX(x,y);
printf("max=%d\n",max);
return0;
}
  

最新文章

  1. Android 热修复技术(1)---原理
  2. js 数组遍历for..in弊端
  3. .NET:序列化和反序列化
  4. C语言 百炼成钢16
  5. 32位Ubuntu12.04搭建Hadoop2.5.1完全分布式环境
  6. ThinkPhp学习12
  7. Nuget常用命令操作
  8. Openstack_O版(otaka)部署_Nova部署
  9. ios7内购、Game Center 实现 in-App Purchases &amp; Game Center
  10. docker容器启动haproxy
  11. 解决IDEA创建多模块项目找不到创建class类的问题
  12. 面向对象DAO模式
  13. Mysql 索引问题-日期索引使用
  14. Java容器解析系列(6) Queue Deque AbstractQueue 详解
  15. 使用SQL Server 的CDC功能实现数据变更捕获
  16. JavaScript -基础- 函数与对象(二)String
  17. ZH奶酪:Python中zip函数的使用方法
  18. vuex入门教程和思考
  19. 《驱蚊神器v1.0》android应用 赶走那些烦人的臭蚊子
  20. (第十周)新NABCD

热门文章

  1. 初学总结--------Java修饰符与修饰关键字(且叫修饰关键字)
  2. Java的对象和类
  3. Nginx: 解决connect() to xxxx failed (13: Permission denied) while connecting to upstream的问题
  4. Android Studio一些简单设置
  5. 同一个页面多个html、body标签
  6. 使用python转换markdown to html
  7. iOS学习之动画效果的实现
  8. JNI/NDK开发指南(2)
  9. MVC 下 JsonResult 的使用方法(JsonRequestBehavior.AllowGet)&lt;转&gt;
  10. [读书笔记]流畅的Python(Fluent Python)