输入一个字符串和一个字符,如果该字符在字符串中,就从该字符首次出现的位置开始输出字符串中的字符。本题要求编写函数match(s, ch),在字符串s中查找字符ch,如果找到,返回第一次找到的该字符在字符串中的位置(地址);否则,返回空指针NULL。
时间: 2024-05-01 09:19:07 浏览: 34
下面是用C语言实现的match函数代码:
```c
#include <stdio.h>
#include <string.h>
char* match(char* s, char ch) {
char* p = strchr(s, ch); // 在字符串s中查找字符ch,返回该字符在s中第一次出现的地址
if (p != NULL) {
return p; // 如果找到,返回该字符在字符串中的位置(地址)
} else {
return NULL; // 否则,返回空指针NULL
}
}
int main() {
char str[100], ch;
printf("请输入一个字符串和一个字符:");
scanf("%s %c", str, &ch);
char* p = match(str, ch);
if (p != NULL) {
printf("从该字符首次出现的位置开始,字符串中的字符为:%s\n", p);
} else {
printf("该字符不存在于字符串中!\n");
}
return 0;
}
```
在这个程序中,我们使用了C标准库中的`strchr`函数来查找字符在字符串中第一次出现的位置。如果找到了该字符,则返回该字符在字符串中的地址,否则返回空指针。通过判断返回值是否为NULL,我们就可以确定该字符是否在字符串中出现。如果该字符在字符串中出现,则从该字符的位置开始输出字符串中的字符。
阅读全文