c语言查找某个字符的出现次数strchr
时间: 2023-11-27 13:05:26 浏览: 42
要查找某个字符在一个字符串中出现的次数,可以使用 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语言中的`strchr()`函数来查找某个字符在字符串中的位置。`strchr()`函数的原型如下:
```c
char *strchr(const char *str, int c);
```
其中,`str`是要查找的字符串,`c`是要查找的字符。如果找到了该字符,则返回其在字符串中的位置的指针;否则返回`NULL`。
如果你要查找某个字符在一个字符串数组中的位置,可以使用下面的代码示例:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char *str[] = {"apple", "banana", "orange", "pear", "grape"};
int n = sizeof(str) / sizeof(str[0]);
char c = 'a';
int i, j;
for (i = 0; i < n; i++) {
j = 0;
while (str[i][j] != '\0') { // 遍历当前字符串
if (str[i][j] == c) { // 如果找到了该字符
printf("%c is found in %s at position %d.\n", c, str[i], j);
}
j++;
}
}
return 0;
}
```
这个程序可以遍历字符串数组中的每一个字符串,查找其中是否包含指定的字符,并输出其在字符串中的位置。