打印

【分享】+#define 让程序移植性更好

[复制链接]
楼主: gaoyang9992006
手机看帖
扫描二维码
随时随地手机跟帖
21
whisky616| | 2013-12-24 20:39 | 只看该作者 回帖奖励 |倒序浏览
好东西啊

使用特权

评论回复
22
gaoyang9992006|  楼主 | 2013-12-25 18:40 | 只看该作者
求小于一个数的最大偶数的方法
/*求实数范围内的最大2倍数*/
#include"stdio.h"
int f(float x);
void main(void)
{
        int y;
        float x;
        printf("请输入一个数字:");
        scanf("%f",&x);
        y=f(x);
        printf("\n%f的最大2倍数是%d",x,y);
        getch();
}

int f(float x)
{
        int i;
        i=((int)(x)-2)/2;
        while(2*i<x) i++;
        if(2*i==x) return 2*i;
        else return 2*i-2;
}
*********************************************************************
上面是普通方法,下面用#define设计

/*求实数范围内的最大2倍数*/
#include"stdio.h"
#define f(x)         (x<0?-2+2*(int)(x/2):2*(int)(x/2))
void main(void)
{
        int y;
        float x;
        printf("请输入一个数字:");
        scanf("%f",&x);
        y=f(x);
        printf("\n%f的最大2倍数是%d",x,y);

        getch();
}


使用特权

评论回复
23
firstblood| | 2013-12-27 00:30 | 只看该作者
预编译指令是以#号开头的代码行。#号必须是该行除了任何空白字符外的第一个字符。#后是指令关键字,在关键字和#号之间允许存在任意个数的空白字符。整行语句构成了一条预处理指令,该指令将在编译器进行编译之前对源代码做某些转换。

使用特权

评论回复
24
gaoyang9992006|  楼主 | 2013-12-27 08:53 | 只看该作者
firstblood 发表于 2013-12-27 00:30
预编译指令是以#号开头的代码行。#号必须是该行除了任何空白字符外的第一个字符。#后是指令关键字,在关键 ...

使用特权

评论回复
25
shenmayufei| | 2015-8-23 08:32 | 只看该作者
写得不错

使用特权

评论回复
26
映雪—斗牛士| | 2016-12-26 15:22 | 只看该作者
马克下,正在搬运51程序到430,学习

使用特权

评论回复
27
youtome| | 2016-12-26 22:23 | 只看该作者
宏定义确实方便很多。

使用特权

评论回复
28
youtome| | 2016-12-26 22:25 | 只看该作者
做代码移植的时候使用宏定义省事多了。

使用特权

评论回复
29
qiufengsd| | 2016-12-27 17:11 | 只看该作者
使用宏定义确实移植程序简单多了。

使用特权

评论回复
30
qiufengsd| | 2016-12-27 17:12 | 只看该作者
不同的处理器移植也方便了。

使用特权

评论回复
31
qiufengsd| | 2016-12-27 17:18 | 只看该作者
#define用的很普遍。

使用特权

评论回复
32
qiufengsd| | 2016-12-27 17:19 | 只看该作者
代码调试的时候很方便。

使用特权

评论回复
33
maqianqu| | 2016-12-29 21:19 | 只看该作者
宏定义确实省去了很多的麻烦。

使用特权

评论回复
34
maqianqu| | 2016-12-29 21:24 | 只看该作者
#define debug 这个用的最多了。

使用特权

评论回复
35
updownq| | 2016-12-30 21:46 | 只看该作者
#define好用。

使用特权

评论回复
36
updownq| | 2016-12-30 21:47 | 只看该作者

确实是,这样直接修改宏定义就能控制IO。

使用特权

评论回复
37
iamaiqiyi| | 2016-12-31 17:02 | 只看该作者
这是移植程序的一个好办法。

使用特权

评论回复
38
iamaiqiyi| | 2016-12-31 17:05 | 只看该作者
#define只能在C语言里面用。

使用特权

评论回复
39
lzmm| | 2017-1-2 21:07 | 只看该作者
#define DEBUG 0
            main()
            {
                #if DEBUG
                    printf("Debugging\n");
                #endif
                    printf("Running\n");
            }

使用特权

评论回复
40
lzmm| | 2017-1-2 21:11 | 只看该作者
#define DEBUG 0
            main()
            {
                #if DEBUG
                    printf("Debugging\n");
                #endif
                    printf("Running\n");
            }

这种调试用的比较多、

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则