请问如何将预处理命令改写成长尾词?

2026-04-12 02:501阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计527个文字,预计阅读时间需要3分钟。

请问如何将预处理命令改写成长尾词?

预处理是进行文本操作+预定义符号+printf(%s\n, __FILE__); // __FILE__ 编译的源文件+printf(%d\n, __LINE__); // __LINE__ 文件当前行号+printf(%s\n, __DATE__); // __DATE__ 文件编译的日期+printf(“);

预处理是进行文本操作

预定义符号

printf("%s\n", __FILE__); //__FILE__进行编译的源文件

printf("%d\n", __LINE__); //__LINE__文件当前进行的行号

printf("%s\n", __DATE__); //__DATE__文件被编译的日期

printf("%s\n", __TIME__); //__TIME__文件当前被编译的时间


预处理指令:由#开头的都是预处理指令

比如:

#define #include #pragma pack(4)


宏定义:

如果定义宏是表达式时尽量带上()

比如:

请问如何将预处理命令改写成长尾词?

#include <stdio.h>

#define square(x) x*x

int main()

{

//int ret = square(5);

//等价与 ret=x*x;

// //所以ret为25

int ret = square(5+1);

等价于5+1*5+1=11

printf("%d\n", ret);

return 0;

}


#把一个宏参数变成对应的字符串

例子:

#define PRINTF(X) printf("the value of "#X" is %d\n",X)

int main()

{


int a = 10;

int b = 20;


PRINTF(a);

//printf("the value of "a" is of %d\n",a);


PRINTF(b);

//printf("the value of "b" is of %d\n",b);

return 0;

}


##可以把位于它两边的符号合成一个符号。


#undef 移除一个宏指令


条件编译:

1.#if 常量表达式

//......

#endif

常量表达式为真编译,否则不编译

printf("%d\n", arr[i]);

如果_DEBUG_定义了则编译 printf("%d\n", arr[i]);语句,否则不编译。

#include <stdio.h>

#define _DEBUG_

int main()

{

int arr[10] = {0};

int i;

for (i = 0; i < 10; i++)

{

arr[i] = i;

#ifdef _DEBUG_ //条件编译

printf("%d\n", arr[i]);

#endif

}

return 0;

}


2.多分支条件编译



本文共计527个文字,预计阅读时间需要3分钟。

请问如何将预处理命令改写成长尾词?

预处理是进行文本操作+预定义符号+printf(%s\n, __FILE__); // __FILE__ 编译的源文件+printf(%d\n, __LINE__); // __LINE__ 文件当前行号+printf(%s\n, __DATE__); // __DATE__ 文件编译的日期+printf(“);

预处理是进行文本操作

预定义符号

printf("%s\n", __FILE__); //__FILE__进行编译的源文件

printf("%d\n", __LINE__); //__LINE__文件当前进行的行号

printf("%s\n", __DATE__); //__DATE__文件被编译的日期

printf("%s\n", __TIME__); //__TIME__文件当前被编译的时间


预处理指令:由#开头的都是预处理指令

比如:

#define #include #pragma pack(4)


宏定义:

如果定义宏是表达式时尽量带上()

比如:

请问如何将预处理命令改写成长尾词?

#include <stdio.h>

#define square(x) x*x

int main()

{

//int ret = square(5);

//等价与 ret=x*x;

// //所以ret为25

int ret = square(5+1);

等价于5+1*5+1=11

printf("%d\n", ret);

return 0;

}


#把一个宏参数变成对应的字符串

例子:

#define PRINTF(X) printf("the value of "#X" is %d\n",X)

int main()

{


int a = 10;

int b = 20;


PRINTF(a);

//printf("the value of "a" is of %d\n",a);


PRINTF(b);

//printf("the value of "b" is of %d\n",b);

return 0;

}


##可以把位于它两边的符号合成一个符号。


#undef 移除一个宏指令


条件编译:

1.#if 常量表达式

//......

#endif

常量表达式为真编译,否则不编译

printf("%d\n", arr[i]);

如果_DEBUG_定义了则编译 printf("%d\n", arr[i]);语句,否则不编译。

#include <stdio.h>

#define _DEBUG_

int main()

{

int arr[10] = {0};

int i;

for (i = 0; i < 10; i++)

{

arr[i] = i;

#ifdef _DEBUG_ //条件编译

printf("%d\n", arr[i]);

#endif

}

return 0;

}


2.多分支条件编译