C语言使用strchr函数查找某个字符的出现次数
时间: 2023-11-27 19:05:26 浏览: 1040
要查找某个字符在一个字符串中出现的次数,可以使用 C 语言的 strchr 函数结合循环来实现。strchr 函数用于查找一个字符在字符串中第一次出现的位置,如果找到了,则返回该位置的指针,否则返回 NULL。
下面是一个示例代码,可以计算一个字符串中某个字符的出现次数:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
char ch;
int count = 0;
printf("请输入一个字符串:");
fgets(str, sizeof(str), stdin);
printf("请输入要查找的字符:");
scanf("%c", &ch);
char* p = strchr(str, ch);
while (p != NULL) {
count++;
p = strchr(p + 1, ch);
}
printf("字符 %c 在字符串中出现了 %d 次。\n", ch, count);
return 0;
}
```
该程序先让用户输入一个字符串和要查找的字符,然后使用 fgets 函数读入字符串。接着使用 strchr 函数查找字符在字符串中第一次出现的位置,如果找到了,则使用循环继续查找下一次出现的位置,直到找不到为止。每次找到字符,计数器就加 1。最后输出计数器的值即可。
相关问题
c语言查找某个字符的出现次数strchr
要查找某个字符在一个字符串中出现的次数,可以使用 C 语言的 strchr 函数结合循环来实现。strchr 函数用于查找一个字符在字符串中第一次出现的位置,如果找到了,则返回该位置的指针,否则返回 NULL。
下面是一个示例代码,可以计算一个字符串中某个字符的出现次数:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
char ch;
int count = 0;
printf("请输入一个字符串:");
fgets(str, sizeof(str), stdin);
printf("请输入要查找的字符:");
scanf("%c", &ch);
char* p = strchr(str, ch);
while (p != NULL) {
count++;
p = strchr(p + 1, ch);
}
printf("字符 %c 在字符串中出现了 %d 次。\n", ch, count);
return 0;
}
```
该程序先让用户输入一个字符串和要查找的字符,然后使用 fgets 函数读入字符串。接着使用 strchr 函数查找字符在字符串中第一次出现的位置,如果找到了,则使用循环继续查找下一次出现的位置,直到找不到为止。每次找到字符,计数器就加 1。最后输出计数器的值即可。
C语言中字符串查找函数
在C语言中,常用的字符串查找函数有`strstr()`和`strchr()`。
1. `strstr()`函数:它用于在一个字符串中查找另一个字符串第一次出现的位置。如果找到了目标字符串,则返回该字符串的首地址;如果没有找到则返回NULL。它的原型是`char *strstr(const char *haystack, const char *needle)`。例如:
```c
char str[] = "Hello, World!";
char *found = strstr(str, "World");
if (found) {
printf("Found at position %ld\n", (long)(found - str));
}
```
2. `strchr()`函数:这个函数在一个字符数组中查找第一个指定字符首次出现的位置。同样,如果找到就返回该字符的地址,没找到则返回NULL。原型是`char *strchr(const char *s, int c)`。例如:
```c
char str[] = "Hello";
char *found = strchr(str, 'o');
if (found) {
printf("Found '%c' at position %ld\n", found[0], (long)(found - str));
}
```
阅读全文