编写程序,从键盘输入一个字符ch,在字符串中查找是否存在该字符,若存在,则给出该字符在字符串中出现的位置。要求设计函数char * search(char *str,char c),其功能为:在str所指的字符串中,查找是否有字符变量c的字符,如果有,则返回字符串中相同字符的地址,如果没有,则返回NULL。
时间: 2023-09-09 13:12:32 浏览: 99
C语言中查找字符在字符串中出现的位置的方法
以下是实现该功能的代码:
```c
#include <stdio.h>
#include <string.h>
char* search(char* str, char c) {
int len = strlen(str);
for (int i = 0; i < len; i++) {
if (str[i] == c) {
return &str[i];
}
}
return NULL;
}
int main() {
char str[100], ch;
printf("请输入一个字符串:");
gets(str);
printf("请输入一个字符:");
scanf("%c", &ch);
char* res = search(str, ch);
if (res != NULL) {
printf("%c在字符串中的位置是:%d", ch, res - str);
} else {
printf("字符串中不存在%c字符。", ch);
}
return 0;
}
```
程序中,我们定义了一个名为search的函数,该函数的参数为一个字符串和一个字符。函数首先获取字符串的长度,然后遍历整个字符串,查找是否有和输入字符相同的字符。如果找到了相同的字符,则返回该字符在字符串中的地址;如果没有找到,则返回NULL。
在主函数中,我们通过gets函数获取用户输入的字符串,通过scanf函数获取用户输入的字符。然后调用search函数进行查找。如果返回值不为空,则说明字符串中存在该字符,输出该字符在字符串中的位置;否则,说明字符串中不存在该字符,输出相应提示信息。
阅读全文