输入一个字符串和一个字符,如果该字符在字符串中,就从该字符首次出现的位置开始输出字符串中的字符。本题要求编写函数match(s, ch),在字符串s中查找字符ch,如果找到,返回第一次找到的该字符在字符串中的位置(地址);否则,返回空指针NULL。
时间: 2024-04-30 08:19:47 浏览: 164
输入一串字符和输出
以下是一个简单的 C++ 实现:
```cpp
#include <iostream>
using namespace std;
char* match(char* s, char ch) {
while (*s != '\0') {
if (*s == ch) {
return s;
}
s++;
}
return NULL;
}
int main() {
char str[100], ch;
cout << "请输入一个字符串:";
cin.getline(str, 100);
cout << "请输入一个字符:";
cin >> ch;
char* p = match(str, ch);
if (p != NULL) {
cout << "第一次出现的位置是:" << p - str << endl;
cout << "从该位置开始的子串是:" << p << endl;
} else {
cout << "未找到该字符!" << endl;
}
return 0;
}
```
在该程序中,match 函数接受一个字符串和一个字符作为参数,返回值是一个指向字符的指针。在函数体中,使用 while 循环遍历整个字符串,如果找到了该字符,就返回该字符的地址;否则返回空指针。在主函数中,输入一个字符串和一个字符,调用 match 函数查找该字符在字符串中的位置,如果找到,输出位置和从该位置开始的子串;否则输出未找到该字符的提示。
阅读全文