要求从键盘接收一串字符并存于字节数组TABLE中,显示字符CHAR出现的次数。 子程序:在以TABLE为首地址的字节数组中查找CHAR,统计出现的次数
时间: 2024-05-14 17:12:41 浏览: 17
以下是使用C语言编写的程序:
```c
#include <stdio.h>
int count_char(char table[], char c) {
int count = 0;
for (int i = 0; table[i] != '\0'; i++) {
if (table[i] == c) {
count++;
}
}
return count;
}
int main() {
char table[100];
char c;
printf("请输入字符串:");
scanf("%s", table);
printf("请输入要查询的字符:");
scanf(" %c", &c);
int count = count_char(table, c);
printf("字符 %c 出现的次数为 %d\n", c, count);
return 0;
}
```
程序首先定义了一个函数`count_char`,用于在字节数组`table`中查找字符`c`,并返回出现的次数。函数使用一个循环遍历数组中的每个字符,如果找到了目标字符,计数器就加1。最后函数返回计数器的值。
在`main`函数中,首先定义了一个长度为100的字符数组`table`,用于存储从键盘输入的字符串。然后使用`scanf`函数从键盘读取字符串并存储到数组中。接着再从键盘读取一个字符`c`,并调用`count_char`函数统计字符`c`在数组`table`中出现的次数。最后程序输出统计结果。
注意,程序中使用了`scanf`函数读取字符串,但是没有限制输入的长度,可能会导致缓冲区溢出的问题。为了避免这种情况,可以使用`fgets`函数代替`scanf`函数读取字符串。