mirror of
https://github.com/Aexiar/c.git
synced 2024-10-22 14:05:45 +02:00
2024年10月9日 15:52
This commit is contained in:
parent
c320c1a5d7
commit
e8f8d3bcda
BIN
docs/notes/02_c-leap/06_xdx/assets/8.png
Normal file
BIN
docs/notes/02_c-leap/06_xdx/assets/8.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 28 KiB |
BIN
docs/notes/02_c-leap/06_xdx/assets/9.png
Normal file
BIN
docs/notes/02_c-leap/06_xdx/assets/9.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 71 KiB |
@ -808,4 +808,141 @@ int main() {
|
||||
}
|
||||
```
|
||||
|
||||
### 6.2.2 #if … #else … #endif
|
||||
### 6.2.2 #if … #else … #endif
|
||||
|
||||
* 语法:
|
||||
|
||||
```c
|
||||
#if 条件表达式
|
||||
...
|
||||
#else
|
||||
...
|
||||
#endif
|
||||
```
|
||||
|
||||
> [!NOTE]
|
||||
>
|
||||
> * ① `#if...#endif`之间还可以加入 `#else` 指令,用于指定判断条件不成立时,需要编译的语句。
|
||||
> * ② `#if … #else … #endif` 指令相当于分支结构中的 `if...else` 语句。
|
||||
|
||||
* 流程图,如下所示:
|
||||
|
||||
![](./assets/8.png)
|
||||
|
||||
|
||||
|
||||
* 示例:
|
||||
|
||||
```c
|
||||
#include <stdio.h>
|
||||
|
||||
#define AGE 19
|
||||
|
||||
int main() {
|
||||
|
||||
// 禁用 stdout 缓冲区
|
||||
setbuf(stdout, nullptr);
|
||||
|
||||
#if AGE > 18
|
||||
printf("你已经是一个成年人了,可以为自己的行为负责!!!");
|
||||
#else
|
||||
printf("你还是一个未成年人,需要监护人监护!!!");
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
* 示例:
|
||||
|
||||
```c
|
||||
#include <stdio.h>
|
||||
|
||||
#define AGE 17
|
||||
|
||||
int main() {
|
||||
|
||||
// 禁用 stdout 缓冲区
|
||||
setbuf(stdout, nullptr);
|
||||
|
||||
#if AGE > 18
|
||||
printf("你已经是一个成年人了,可以为自己的行为负责!!!");
|
||||
#else
|
||||
printf("你还是一个未成年人,需要监护人监护!!!");
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
```
|
||||
|
||||
### 6.2.3 #if … #elif … #else … #endif
|
||||
|
||||
* 语法:
|
||||
|
||||
```c
|
||||
#if 条件表达式1
|
||||
...
|
||||
#elif 条件表达2
|
||||
...
|
||||
#else
|
||||
...
|
||||
#endif
|
||||
```
|
||||
|
||||
> [!NOTE]
|
||||
>
|
||||
> `#if … #elif … #else … #endif` 指令相当于分支结构中的 `if...elseif..else` 语句。
|
||||
|
||||
* 流程图,如下所示:
|
||||
|
||||
![](./assets/9.png)
|
||||
|
||||
|
||||
|
||||
* 示例:
|
||||
|
||||
```c
|
||||
#include <stdio.h>
|
||||
|
||||
#define AGE 17
|
||||
|
||||
int main() {
|
||||
|
||||
// 禁用 stdout 缓冲区
|
||||
setbuf(stdout, nullptr);
|
||||
|
||||
#if AGE < 6
|
||||
printf("你现在处于幼儿阶段\n
|
||||
#elif AGE < 12
|
||||
printf("你现在处于少年阶段\n");
|
||||
#elif AGE < 18
|
||||
printf("你现在处于青年阶段\n");
|
||||
#elif AGE < 40
|
||||
printf("你现在处于壮年阶段\n");
|
||||
#else
|
||||
printf("你现在处于老年阶段\n");
|
||||
#endif
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
```
|
||||
|
||||
## 6.3 #ifdef
|
||||
|
||||
* 语法:
|
||||
|
||||
```c
|
||||
#ifdef 宏名
|
||||
...
|
||||
#else
|
||||
...
|
||||
#endif
|
||||
```
|
||||
|
||||
> [!NOTE]
|
||||
>
|
||||
>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user