位置:首页 > 软件操作教程 > 编程开发 > C语言 > 问题详情

C语言 #ifdef格式

提问人:刘团圆发布时间:2020-12-01

#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)
返回顶部