现在的位置: 首页 > 综合 > 正文

预处理

2013年10月04日 ⁄ 综合 ⁄ 共 1533字 ⁄ 字号 评论关闭

预处理:#结尾,结尾不加分号

一、#defined宏定义VS函数

1、带参数:需要加括号

#include<stdio.h>
#define power01(n) n*n
int power02(int a)
{
 return a*a;
}
#define power03(a,b) a*b
main()
{
 printf("function para is =%f\n",27.0/power02(3.0));
 printf("define1 pare is =%f\n",27.0/power01(3.0));
 printf("define2 para is =%f\n",24.0/power03(1+2,2+3));
}

 

2、不带参数

#include<stdio.h>
#define PI 3.1415925
#define r 3
#define L 2*r*PI
#define R PI*r*r

main()
{
 
 printf("%f\t%f\n",L,R);
// # undef r
 printf("r=%d\n",r);  
}

 

二、头文件#include<stdio.h>

 

 

三、条件编译

#include<stdio.h>
#define DEBUG

main()
{
 #if 5
  printf("if define\n");
 #else
  printf("if not define\n");
 #endif
 
 #ifndef DEBUG
  printf("Debug not define\n");
 #else
  printf("Debug defined\n");
 #endif
}

#define DEBUG 0

main()
{
        #if 5
                printf("if define\n");
        #else
                printf("if not define\n");
        #endif

        #ifdef DEBUG
                printf("Debug not define\n");
        #else
                printf("Debug defined\n");
        #endif
}

/**************************26_extern.h***************

#ifndef _STDIO_H
#define _STDIO_H

        int max=100;
        int add(int a,int b)
        {
                return a+b;
        }

#else

        int max=200;
        int add(int a,int b)
        {
                return a+b;
        }

#endif

 

*******************************************************/

/***************************26_extern_main.h********

//#include<stdio.h>
//#include"26_extern.c"
#include"26_extern.h"
main()
{
        extern max;
        extern add(int ,int);
        int a=1,b=2,c,d;
        c=add(a,b);
        d=max;
        printf("c=%d\td=%d\n",c,d);
}

*******************************************************/

 

 

抱歉!评论已关闭.