本文最后更新于2022年02月15日,已超过12天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!
#define
标识符
字符串
define
为宏定义命令。标识符
为所定文的宏名,通常用大写字母表示,以便于与变量区别。字符串
可以是常数、表达式等。#define PAI 3.1415926
# defineR 3
# define PI 3.14159
# define S PI*R*R
printf("R=%f,S=%f",R,S)
#include<stdio.h>
#define A 1+2 // 没有括号
void main() {
int a;
a = A * 2; // 替换后 a = 1+ 2 * 2 所以a = 5
printf("a = %d,A = %d\n", a, A);
}
#define
宏名(参数表)
字符串
#define
ADD(X,Y)
(X+Y)
宏名(实参表)
#include<stdio.h>
#define PAI 3.1415926
#define S(r) PAI*(r)*(r)
void main() {
double a;
printf("请输入半径:\n");
scanf_s("%lf", &a);
printf("半径为%.2f的圆的面积:%.2f\n", a, S(a));
}
#define
S(r)
PAI*(r)*(r)
#define
S
(r)
PAI*(r)*(r)
(r) PAI*(r)*(r)
。# include< stdio.h >
# define A(X,Y) X*Y
void main()
{
int a, s;
float w;
printf("请输入a的值:\n");
scanf_s("%d", &a);
s = A(a, a + 1);
w = 6 / A(a, a);
printf("s = a*a+1 = %d,w = 6/a*a = %.2f\n", s, w);
}
#define
A(X,Y)
(X)*(Y)
s = ((a)*(a+1));
w = 6/((a)*(a));
s = ((a)*(a+1)) = 42, w = 6/((a)*(a))= 6.00
#include
"文件名"
#include
<文件名>
#include
<stdio.h>
#include
<math.h>
#include
"diy.h"
.h
,此扩展名为头文件。一般包含在程序的头部。#include
<stdio.h>
#include
<string.h>
#include
<math.h>
#ifdef 标识符
程序段1
#else
程序段2
#endif
// 或者
#ifdef 标识符
程序段1
#endif
#ifndef 标识符 // if n def
程序段1
#else
程序段2
#endif
#if 常量表达式
程序段1
#else
程序段2
#endif
#include <stdio.h>
#define DEBUG 0
void main()
{
#if DEBUG
printf("Debugging...\n");
#else
printf("Running...\n");
#endif
}
#define DEBUG 1