用C++编写函数int index(chars, chart),字符串t在字符s中出现的最左边的位置作为返回值,如果s中没有与t匹配的子串,就返回-1,
时间: 2024-05-08 08:18:31 浏览: 62
好的,根据您的要求,我理解您想让我编写一个C函数,函数名为index,参数为chars和chart,用来查找字符串chars中是否包含字符chart,如果有,则返回chart在chars中第一次出现的位置,如果没有,则返回-1。以下是代码实现:
```c
#include <stdio.h>
#include <string.h>
int index(char *chars, char chart)
{
char *result = strchr(chars, chart);
if (result != NULL)
{
return (int)(result - chars);
}
else
{
return -1;
}
}
int main()
{
char str1[] = "hello world";
char chr1 = 'l';
int pos1 = index(str1, chr1);
printf("The position of '%c' in \"%s\" is %d\n", chr1, str1, pos1);
char str2[] = "c++ programming";
char chr2 = 'z';
int pos2 = index(str2, chr2);
printf("The position of '%c' in \"%s\" is %d\n", chr2, str2, pos2);
return 0;
}
```
在上面的例子中,函数index接受一个字符串chars和一个字符chart作为参数,并使用strchr函数在chars中查找字符chart的位置。如果找到,则计算chart在chars中的位置并返回,否则返回-1。在main函数中,我们分别用字符串“hello world”和字符‘l’,以及字符串“c++ programming”和字符‘z’调用了index函数,并输出了结果。
阅读全文