首页 > 软件操作教程 > 编程开发 > C语言
题目内容

C语言 #ifdef格式

题目答案

#ifdef    标识符 

    程序段1 

[#else

    程序段2]

#endif

作用:如果#ifdef指令后面跟着的标识符已经用#define定义过,则编译程序段1,否则编译程序段2。#else部分可以省略,省略后变成如下形式:

    #ifdef标识符 

        程序段1 

    #endif

【例题】用条件编译实现排序

对三个数是按从小到大排序还是按从大到小排序。

算法分析:

设置一个常置FLAG,如果定义,那么对三个数按照从小到大输出,否则按照从 大到小输出。

程序如下:

#include <stdio.h>

#define FLAG 0 

void main()

{

    int a ,b,c;

    scanf("%d%d%d",&a,&b,&c);

#ifdef FLAG

    if(a>b)

    {int t=a;a=b;b=t;} 

    if(a>c)

    (int t=a;a=c;c=t;) 

    if(b>c)

    (int t=b;b=c;c=t;}

#else

    if(a<b)

    {int t=a;a=b;b=t;) 

    if(a<c)

    {int t=a;a=c;c=t;) 

    if(b<c)

    {int t=b;b=c;c=t;)

#endif

    printf("%d %d %d\n",a,b,c)

}

程序执行,输入:

  3 2 5

输出结果为:

  2 3 5

如果将#define FLAG 0去掉,那么输出结果为:

  5 3 2

网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

软件操作 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

相关视频试题

最需教育客户端 软件问题一手掌握

去 App Store 免费下载 iOS 客户端