c语言: 用指针的方法编写函数,计算一个字符在一个字符串中出现的次数
时间: 2024-02-01 08:15:48 浏览: 27
可以通过遍历字符串,判断每个字符是否与目标字符相等,来统计出现次数。具体实现如下:
```c
int count_char(char *str, char c) {
int count = 0;
while (*str != '\0') { // 遍历字符串
if (*str == c) { // 判断字符是否相等
count++;
}
str++; // 指针后移
}
return count;
}
```
其中,`*str` 表示当前指针指向的字符,`str++` 表示将指针后移一位,指向下一个字符。函数的调用方式如下:
```c
char str[] = "hello world";
char c = 'l';
int result = count_char(str, c);
printf("'%c' occurs %d times in '%s'\n", c, result, str);
```
输出结果为:
```
'l' occurs 3 times in 'hello world'
```
相关问题
用c语言:用指针的方法编写函数实现,计算一个字符在一个字符串中出现的次数
以下是用指针的方法编写函数实现,计算一个字符在一个字符串中出现的次数的C语言代码:
```c
#include <stdio.h>
int count_char(char *str, char ch) {
int count = 0;
while (*str != '\0') {
if (*str == ch) {
count++;
}
str++;
}
return count;
}
int main() {
char str[100];
char ch;
printf("Enter a string: ");
gets(str);
printf("Enter a character to count: ");
scanf("%c", &ch);
int count = count_char(str, ch);
printf("'%c' appears %d times in '%s'\n", ch, count, str);
return 0;
}
```
首先定义了一个`count_char`函数,它接受一个字符串指针`str`和一个字符`ch`作为参数。然后,使用一个`while`循环遍历字符串中的每个字符,如果当前字符等于`ch`,则将计数器`count`增加1。最后,返回计数器的值。
在`main`函数中,首先使用`gets`函数获取用户输入的字符串,并使用`scanf`函数获取用户输入的字符。然后,调用`count_char`函数计算字符出现的次数,并打印结果。
注意,这种实现方式假设输入的字符串中不含有空格等分隔符,否则只会计算到第一个分隔符为止。
C语言:编写一个函数,函数的功能是删除字符串中的所有空格
以下是一个删除字符串中所有空格的C语言函数:
```c
void remove_spaces(char* str) {
int len = strlen(str);
int i, j;
for (i = 0, j = 0; i < len; i++) {
if (str[i] != ' ') {
str[j++] = str[i];
}
}
str[j] = '\0';
}
```
这个函数使用了两个指针i和j,它们分别指向原始字符串和结果字符串中的下标。循环遍历原始字符串中的所有字符,如果当前字符不是空格,则将其复制到结果字符串中,否则跳过。最后在结果字符串的结尾添加一个空字符,以表示字符串的结束。