在c语言中编写函数。该函数可实现在一个字符串中查找给定字符出现的次数,并作为函数返回值返回,并在主函数中进行调用
时间: 2024-05-03 08:19:40 浏览: 13
下面是一个在C语言中编写的函数,它可以查找指定字符在给定字符串中出现的次数并返回该次数:
```c
#include <stdio.h>
#include <string.h>
int count_char(char* str, char c) {
int count = 0;
int len = strlen(str);
for(int i = 0; i < len; i++) {
if(str[i] == c) {
count++;
}
}
return count;
}
int main() {
char str[] = "Hello, World!";
char c = 'l';
int count = count_char(str, c);
printf("%c appears %d times in %s\n", c, count, str);
return 0;
}
```
该函数名称为`count_char`,接收一个字符串和一个字符作为参数,并在字符串中查找该字符出现的次数。首先,我们定义了一个计数器`count`并将其初始化为0,然后遍历字符串中的每个字符。如果当前字符与指定字符相同,则将计数器加1。最后,返回计数器的值。
在主函数中,我们定义一个字符串和一个字符,调用`count_char`函数,并将返回的计数器值打印到控制台上。
相关问题
c语言实现在给定字符串中搜索并返回子字符串个数的函数
可以使用C语言的字符串函数strstr()和strchr()实现在给定字符串中搜索并返回子字符串个数的函数。具体的实现方法如下:
```c
#include <stdio.h>
#include <string.h>
int countSubstring(char *str, char *substr) {
int count = 0;
char *ptr = str;
while ((ptr = strstr(ptr, substr)) != NULL) {
count++;
ptr++;
}
return count;
}
int main() {
char str[100], substr[100];
printf("Enter a string: ");
gets(str);
printf("Enter a substring: ");
gets(substr);
int count = countSubstring(str, substr);
printf("Number of occurrences of substring in string : %d", count);
return 0;
}
```
在这里,countSubstring()函数使用了strstr()函数在字符串中查找子字符串的位置,如果找到了,就增加计数器count的值,然后将指针ptr指向下一个字符继续查找,直到搜索完整个字符串。最后返回计数器的值表示子字符串在字符串中出现的次数。
需要注意的是,gets()函数不是安全的函数,因为它无法判断输入字符串的长度是否超过了数组的长度,因此在实际的程序中应该使用更安全的函数,比如fgets()函数。
用c语言编写函数,在一个字符串中进行搜索,查找所有在一个给定字符集合中出现的字符。
可以使用以下程序实现:
```c
#include <stdio.h>
#include <string.h>
void search(char *str, char *charset) {
int len = strlen(str);
int char_len = strlen(charset);
int i, j;
for (i = 0; i < len; i++) {
for (j = 0; j < char_len; j++) {
if (str[i] == charset[j]) {
printf("%c ", charset[j]);
break;
}
}
}
}
int main() {
char str[] = "Hello, world!";
char charset[] = "loW";
search(str, charset);
return 0;
}
```
其中,在 `search` 函数中,第一个参数 `str` 是用于查找的字符串,第二个参数 `charset` 是需要查找的字符集合,函数会在字符串中查找所有在给定字符集合中出现的字符并输出。在 `main` 函数中,我们使用了示例字符串和字符集合来测试 `search` 函数的效果。