请教一个小问题,大家帮忙

jiarongrong163 2008-07-26 08:42:27
#include<iostream>
using namespace std;
const char* strstr1(const char *,const char *);
main()
{
char *str={"12345554555123"};
char zistr[10]={"0"};
cin>>zistr;
char *str2=&str[3];
cout<<strstr1(str,zistr)<<endl;
}

const char *strstr1(const char *str,const char *zistr)
{
for(int i=0;str[i]!='\0';i++)
{
int j=0;
int temp=i;
if (str[i]==zistr[i])
{
while(str[i++]==zistr[j++])
{
if (zistr=='\0')
{
return &str[i-j];
}
}
i=temp;
}
}
return NULL;
}
可以通过编译,但运行时候会出现错误,我的目的是这样的:假如str=“123456789”,zistr=“234”那么就应该返回23456789
...全文
63 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tobylee999 2008-07-26
  • 打赏
  • 举报
回复
大致顺着你的思路写的,问题很多,先就这样吧。编码应该注意每个变量在逻辑上的含义,并且在整个过程中保证他的一致。


#include <iostream>
using namespace std;
const char* strstr1(const char *,const char *);
main()
{
char *str={"12345554555123"};
char zistr[10]={"0"};
cin>>zistr;
char *str2=&str[3];
cout << strstr1(str,zistr) <<endl;
}

const char *strstr1(const char *str,const char *zistr)
{
for(int i=0;str[i]!='\0';i++)
{
int j=0;
while(str[i+j]==zistr[j] || zistr[j]=='\0')
{
if (zistr[j]=='\0')
{
return &str[i];
}
++j;
}
}
return NULL;
}
jackychen507 2008-07-26
  • 打赏
  • 举报
回复
呵呵
按我说的该了就都对了
刚测试了下
jackychen507 2008-07-26
  • 打赏
  • 举报
回复
没有太仔细看 呵呵
明显的错误
if (str[i]==zistr[i])
应该zistr[j])
还有
if (zistr=='\0')
-〉zistr[j] 或 *(sistr+j)
iBug168 2008-07-26
  • 打赏
  • 举报
回复
cout << NULL<<endl;


这句话会不会出错....

你看看你的那个函数const char *strstr1(const char *str,const char *zistr) ;
返回值是什么??

可能是NULL;
微信小程序系统教程[初级阶段],微信小程序0基础学起,讲解微信小程序开发的基础知识。 微信小程序系统教程共有“微信小程序系统教程[初级阶段]”、“微信小程序系统教程[中级阶段]——核心技术”、“微信小程序系统教程[阶段]客服消息+微信支付+九宝电商系统”。 “微信小程序系统教程[阶段]全套课程”包含: 1.微信小程序系统教程[阶段]_客服消息 2.微信小程序系统教程[阶段]_微信支付 3.微信小程序系统教程[阶段]_九宝电商系统 学习“微信小程序系统教程[阶段]”要求有微信小程序的基础。建议先学习“微信小程序系统教程[初级阶段]”、“微信小程序系统教程[中级阶段]”,后在报名“微信小程序系统教程[阶段]”。 阶段讲解的客服消息,是针对小程序的。后台程序用接近底层的技术,没有使用三方技术。这样降低同学们学习成本。 微信支付,这部分课程很有难度,要求同学们认真听讲,有不会的技术问题可以请教老师。购买课程后请联系老师,提供单号,给你源程序。 九宝电商系统是一套十分适和学习、项目的课程。既可以系统的学习微信小程序相关知识,还可以修改后上线。 “微信小程序系统教程[中级阶段]——核心技术”重点讲解微信小程序事件、组件、API 微信小程序系统教程[初级阶段],微信小程序0基础学起,讲解微信小程序开发的基础知识。 购买课程的同学,可赠送就九宝老师编写的《微信小程序开发宝典》。 购课请咨询qq2326321088

64,639

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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