getchar后使用strcmp
时间: 2024-11-28 08:10:00 浏览: 4
`getchar` 和 `strcmp` 都是 C 语言中的函数,但它们的作用不同。
`getchar` 函数用于从标准输入流(通常是键盘)读取一个字符,并将其作为整数返回。当你想要获取用户的输入并逐个处理字符时,可以使用它。
而 `strcmp` 函数则是字符串比较函数,用于比较两个字符串是否相等,会逐个字符地比较直到遇到不匹配的字符或者结束符 '\0'。如果第一个字符串的结尾还没有到达第二个字符串的结尾,那么 `strcmp` 就会返回一个负值、零或正值,表示前一个字符串小于、等于或大于后一个字符串。
如果你想通过用户输入的一行字符与某个已知字符串进行比较,你可以先用 `getchar` 获取一行字符并存储到数组中,然后创建一个包含你要对比的字符串的指针,最后使用 `strcmp` 进行比较:
```c
#include <stdio.h>
#include <string.h>
int main() {
char input[100];
int c;
// 读取用户输入
while ((c = getchar()) != '\n') { // 只读取到换行符停止
input[] = c; // 注意这里要把每次读取的字符追加到数组末尾
}
input[] = '\0'; // 结束输入并添加终止符
const char *known_string = "Hello, World!";
int result = strcmp(input, known_string);
if (result == 0) {
printf("输入的字符串与已知字符串相同。\n");
} else {
printf("输入的字符串与已知字符串不同。\n");
}
return 0;
}
阅读全文