求助大神!c语言怎么写startswith endswith

星际托霸 2019-05-11 04:47:26
如图 有没有大神帮忙写一下呢
...全文
1263 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
自信男孩 2019-05-11
  • 打赏
  • 举报
回复 1
#include<iostream>
#include <string.h>
using namespace std;

int startswith(const char *str, const char *p);
int endswith(const char *str, const char *p);

int main(void)
{
const char *str = "Hello, world!";

printf("%d\n", startswith(str, "hello"));
printf("%d\n", startswith(str, "Hello"));
printf("%d\n", endswith(str, "ld!"));
printf("%d\n", endswith(str, "ld"));
return 0;
}


int startswith(const char *str, const char *p)
{
int len = strlen(p);
if (len <= 0)
return 0;
if (strncmp(str, p, len) == 0)
return 1;

return 0;
}


int endswith(const char *str, const char *p)
{
int len1, len2;
len1 = strlen(str);
len2 = strlen(p);

if (len2 <= 0)
return 0;

if (strncmp(str + len1 - len2, p, len2) == 0)
return 1;

return 0;
}


供参考!
真相重于对错 2019-05-11
  • 打赏
  • 举报
回复
从头循环比较呗,相当就继续,不等就返回0,到达子串的长度就返回1
注意输入参数判断 是否为NULL,和第二个子串长度是否大于第一个

70,027

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧