作业帮 > 综合 > 作业

用C语言编写函数:一个字符串中有两个z,求z之间的子串并返回其长度

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/24 08:13:00
用C语言编写函数:一个字符串中有两个z,求z之间的子串并返回其长度
需要给出整个程序 在12点之间!
打错了 是十二点之前!
#include <stdio.h>
#include <string.h>
int main()
{
char str[100] = "";
char sub[100] = "";
char * p, * q;
scanf("%s", str);
p = strchr(str, 'z');
q = strrchr(str, 'z');
memcpy(sub, p + 1, q - p - 1);
printf("sub=%s, len=%d\n", sub, q - p - 1);
return 0;
}
再问: 我是刚开始学习C语言 答案里面有几个函数都没学过 能不能写个函数来实现这个问题 而不是用已有的函数 谢谢啦
再答: 那就自己实现那两个函数,很简单的#include <stdio.h>
char * Strchr(char * str, char c)
{
while (*str++ != '\0')
{
if (*str == c)
{
return str;
}
}
}

char * Strrchr(char * str, char c)
{
char * p = str;
while (*p++ != '\0') ;
while (p-- >= str)
{
if (*p == c)
{
return p;
}
}
}

int main()
{
char str[100] = "";
char sub[100] = "";
char * p, * q;
scanf("%s", str);
p = Strchr(str, 'z');
q = Strrchr(str, 'z');
memcpy(sub, p + 1, q - p - 1);
printf("sub=%s, len=%d\n", sub, q - p - 1);
return 0;
}