引言

在解题过程中我们常常遇到一些要求条件的输入条件,以下是我总结的一些方法

文件结束标志 (EOF)

用于从文件或标准输入读取数据时,检查是否到达文件末尾。

使用 feof() 函数或 EOF 常量。

1
2
3
4
int c;
while ((c = getchar()) != EOF) {
// 处理字符
}

特定字符结束标志

读取输入直到遇到特定字符(如换行符 \n 或空格 )。

1
2
3
4
char ch;
while ((ch = getchar()) != '\n') {
// 处理字符
}

字符串结束标志 (\0)

用于处理字符串时,检查是否遇到字符串结束符 \0。

1
2
3
4
char str[] = "Hello";
for (int i = 0; str[i] != '\0'; i++) {
// 处理字符
}

特定输入值结束标志

读取输入直到遇到特定值(如 -1 或 0)。

1
2
3
4
int num;
while (scanf("%d", &num) == 1 && num != -1) {
// 处理数字
}

输入失败结束标志

使用 scanf() 等函数时,检查返回值判断输入是否成功。

1
2
3
4
int num;
while (scanf("%d", &num) == 1) {
// 处理数字
}

用户自定义结束标志

根据用户定义的标志结束输入。

1
2
3
4
5
6
7
8
char input[100];
while (1) {
scanf("%s", input);
if (strcmp(input, "exit") == 0) {
break;
}
// 处理输入
}