C-预处理器

2019-08-05  本文已影响0人  小石头呢
重要的预处理指令

一.预处理器实例

解决App上线不能向终端输入信息的问题

#define DEBUG 1

#if DEBUG
  #define Log(x) printf(x)
#else 
  #define Log(x)
#endif

二.预定义宏

在编程中您可以使用这些宏,但是不能直接修改这些预定义的宏。

#include <stdio.h>

int main() {
   printf("File :%s\n", __FILE__ );
   printf("Date :%s\n", __DATE__ );
   printf("Time :%s\n", __TIME__ );
   printf("Line :%d\n", __LINE__ );

   return 0;
}

//运行结果
File :c:\users\a2867\desktop\c语言学习\c语言阶段\day6_2.s_t\s_t.cpp
Date :Aug  5 2019
Time :22:32:28
Line :8

三.预处理器运算符

#define  message_for(a, b)  \
    printf(#a " and " #b ": We love you!\n")
#include <stdio.h>

#define  message_for(a, b)  \
    printf(#a " and " #b ": We love you!\n")

int main(void) {
   message_for(Carole, Debra);
   return 0;
}

//运行结果
Carole and Debra: We love you!
#include <stdio.h>

#define tokenpaster(n) printf ("token" #n " = %d", token##n)

int main(void) {
   int token34 = 40;
   
   tokenpaster(34);
   return 0;
}

//运行结果
//实际上执行了printf ("token34 = %d", token34);
token34 = 40

四.参数化的宏

#include <stdio.h>

#define MAX(x,y) ((x) > (y) ? (x) : (y))

int main(void) {
   printf("Max between 20 and 10 is %d\n", MAX(10, 20));  
   return 0;
}

//运行结果
Max between 20 and 10 is 20
上一篇下一篇

猜你喜欢

热点阅读