| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 241 人关注过本帖
标题:各种宏,看的我头晕眼花,求讲解
只看楼主 加入收藏
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
各种宏,看的我头晕眼花,求讲解
今天看一个程序,里面各种的宏,除了头几个其他的我是真不认识,上网上找,总感觉答非所问,求教
程序代码:
#include"stdio.h"
#define MAX
#define MAXIMUM(x,y) (x>y)?x:y
#define MINIMUM(x,y) (x>y)?y:x
void main()
{
    int a=10,b=20;
    #ifdef MAX
    printf("\40:The larger one is %d\n",MAXIMUM(a,b));
    #else
    printf("\40:The lower one is %d\n",MINIMUM(a,b));
    #endif
    #ifndef MIN
    printf("\40:The lower one is %d\n",MINIMUM(a,b));
    #else
    printf("\40:The larger one is %d\n",MAXIMUM(a,b));
    #endif
    #undef MAX
    #ifdef MAX
    printf("\40:The larger one is %d\n",MAXIMUM(a,b));
    #else
    printf("\40:The lower one is %d\n",MINIMUM(a,b));
    #endif
    #define MIN
    #ifndef MIN
    printf("\40:The lower one is %d\n",MINIMUM(a,b));
    #else
    printf("\40:The larger one is %d\n",MAXIMUM(a,b));
    #endif
    return 0;
}
有明白的帮帮忙,主函数里带井号我是一个不认识,求帮助
2012-11-04 19:05
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
55555555555555555555555555求帮助

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-04 19:16
遗矢的老人
Rank: 9Rank: 9Rank: 9
来 自:成都
等 级:蜘蛛侠
威 望:7
帖 子:325
专家分:1131
注 册:2012-7-20
收藏
得分:10 
     #ifdef MAX
     printf("\40:The larger one is %d\n",MAXIMUM(a,b));
     #else
     printf("\40:The lower one is %d\n",MINIMUM(a,b));
     #endif

解释这个就差不多了,意思就是定义了MAX就编译printf("\40:The larger one is %d\n",MAXIMUM(a,b));否则编译 printf("\40:The lower one is %d\n",MINIMUM(a,b));
2012-11-04 19:19
锋了
Rank: 7Rank: 7Rank: 7
来 自:向日葵幼儿园
等 级:黑侠
威 望:2
帖 子:306
专家分:586
注 册:2012-10-27
收藏
得分:10 
属于条件编译,不全是宏声明。#ifdef这个其实是“if define”的缩写,就是如果宏定义了max,

就执行语句(1),否则执行语句(2),即根据条件来编译,这里的条件就是宏声明了max.

#ifdef MAX
    printf("\40:The larger one is %d\n",MAXIMUM(a,b));(1)
    #else
    printf("\40:The lower one is %d\n",MINIMUM(a,b));(2)

 #undef 则是用来结束宏声明MAX,在这个语句之后的MAX如果没有重新定义,那它就没有意义了。属于未声明的变量了
2012-11-04 19:52
快速回复:各种宏,看的我头晕眼花,求讲解
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016422 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved