实验4-必做题(2)用c语言实现查找字符串中所有指定的字符 要求编写一个实现输出字符串s中值等于字符ch的所有字符的函数,并用主函数测试结果。 输入格式: 输入有2行,第一行是一个字符x,表示需要查找的字符;第二行是一个以回车结束的非空字符串(不超过100个字符)。 输出格式: 输出所有查找到的字符的下标(从0开始),每个数之间隔1个空格,行末不留空格,如果查找不到,输出-1。
时间: 2023-06-18 13:06:31 浏览: 235
C例子:字符串查找函数
以下是代码实现:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char ch, s[100];
int i, len, flag = 0;
scanf("%c", &ch); // 输入需要查找的字符
getchar(); // 消耗多余的换行符
fgets(s, 100, stdin); // 输入字符串
len = strlen(s); // 获取字符串长度
for(i = 0; i < len; i++)
{
if(s[i] == ch)
{
printf("%d ", i);
flag = 1; // 查找到标记为1
}
}
if(!flag) // 如果没有查找到
{
printf("-1");
}
return 0;
}
```
使用 `fgets()` 函数可以读入带空格的字符串,然后遍历字符串,判断每个字符是否等于需要查找的字符,如果相等就输出该字符的下标,同时将查找到的标记 `flag` 设为1。如果遍历完整个字符串仍然没有查找到,则输出-1。
阅读全文