用c语言編写程序,从键盘输入一个字符 ch,在字符串string 中查找是否存在有该字符,若存在,给出该字符在字符串中第1次出现的位置。(采用函数调用,指针作为参数)
时间: 2024-03-06 09:49:57 浏览: 51
用一维字符数组存放字符串-C语言字符数组与字符串
好的,以下是 C 语言的程序代码:
```c
#include <stdio.h>
int find_char(char *string, char ch);
int main() {
char string[100], ch;
int position;
printf("请输入字符串:");
gets(string);
printf("请输入要查找的字符:");
scanf("%c", &ch);
position = find_char(string, ch);
if (position == -1) {
printf("字符串中不存在该字符\n");
} else {
printf("该字符在字符串中第一次出现的位置为:%d\n", position);
}
return 0;
}
int find_char(char *string, char ch) {
int i = 0;
while (*string != '\0') {
if (*string == ch) {
return i;
}
i++;
string++;
}
return -1;
}
```
在这个程序中,我们定义了一个 `find_char` 函数,它接收两个参数:一个字符串指针和一个字符。函数的作用是在字符串中查找是否存在有该字符,若存在,给出该字符在字符串中第1次出现的位置。
在 `main` 函数中,我们首先读取用户输入的字符串和要查找的字符,然后调用 `find_char` 函数,并根据返回值输出结果。如果返回值为 `-1`,说明字符串中不存在该字符,否则输出该字符在字符串中第一次出现的位置。
需要注意的是,我们在 `find_char` 函数中使用了指针来遍历字符串,这样可以避免对字符串进行复制,提高了程序的效率。
阅读全文