#define 的用法解析
来源:互联网 发布:java判断是否为节假日 编辑:程序博客网 时间:2024/05/14 07:00
这是我在SCDN上的第一篇文章,哇哇,有那么点小小的高兴呢。呜呜~~~~,说废话是不太好的,开始主题吧。
#define经常被用到,为什么用到就不能我说了吧。下面我们用几个简单的程序例子来说明问题。
1:
#include “stdio.h”
#define pi 3.1415926 //注意没有任何符号而且不在任何函数体内,???因为本来就是简单的字符串替换呀,放到函 //数体内难道是要执行吗,回答是否定的。
2:
void main(void)
{
float a;
a=1+pi;
printf("结果为%f",a);
}
/***************上面是没有什么问题的,但是下面****************/
#include <stdlib.h>
#define pi 2+2
void main(void)
{
float a=0.0;
a=pi*pi;
printf("结果为:%f\n",a);
system("pause");
}
/****上面就有问题了,结果怎么会为8呢??不是应该为16么。唯一的解释就是a=2+2*2+2=8;
所以想要有你预想的结果就应该这样a=(pi)*(pi);经过这样的更改后,果然是这样呀。
*******/
3:
下面我们来讨论下带参数的宏定义如下
#define a(x,y) x*y
这是可以当作一个函数来运用的,当你用x=a(5,7),将会得到x等于35的结果,但是你如果调用
result=a(2+2,2+2),结果不会是16,也是8,原因如上面提到的一样。#define只是简单的替换而已,先替换,再计算。搞好先后顺序是关键。
暂时就这样吧,以后有问题再进行添加。
- #define 的用法解析
- #define 用法解析
- Objective-C #define 用法解析
- Objective-C : #define 用法解析
- Objective-C #define 用法解析
- [define的用法]define用法集锦
- #define 的注意用法
- #define 的另类用法
- #define的用法zz
- #define的用法
- define 的用法
- #define的用法
- #define 的用法
- #define的用法归类
- define的用法
- #define的神秘用法
- #define的神秘用法
- #define 的特别用法
- 自定义Android View属性
- 火狐和ie都兼容的半透明滤镜
- 0103 混蛋罗心得[装*技巧]
- 【算法】堆排序
- 06-反转语序
- #define 的用法解析
- KindEditor4 mvc编辑器
- 泛型
- DevComponents.AdvTree 使用方法
- iOS学习之VFL实现自动布局
- 系统设计的高频面试题都有哪些?
- yii遇到的错误总结
- Timeout expired. The timeout period elapsed prior to completion of the operation or the server is no
- tomcat 直接localhost:8080访问项目