C++用指针查找字符串

[复制链接]
查看11 | 回复3 | 2013-3-17 16:12:49 | 显示全部楼层 |阅读模式
const char* strstr(const char* cs1,char *cs2){
const char *p=NULL;
int i=0,j=0,t=0;
while(*(cs1+i)!=0){
if(*(cs1+i)==*cs2){
j=0; //增加
t=0;//增加
while(*(cs2+j)!=0){
if(*(cs1+i+j)!=*(cs2+j)){
t=1;
break;
...
回复

使用道具 举报

千问 | 2013-3-17 16:12:49 | 显示全部楼层
在while前面加j=0初始化,以前比较过一次但不对的话,j和t就不是0了....
回复

使用道具 举报

千问 | 2013-3-17 16:12:49 | 显示全部楼层
t和j应该在每一次while(*(cs1+i)!=0)开头初始化,否则就会受到上次比较结果的影响,然后下面那哥们说得对,得去掉else i=i+j...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行