注册 登录
编程论坛 C++ Builder

大家看看这个简单的程序哪错了??

猫叔 发布于 2009-10-24 15:23, 1319 次点击
#include<iostream.h>
#include<string.h>
int parttern_index(char substr[],char str[]);
void main()
{
    char *sstr,*mstr;
    int index;
    sstr="???gram";
    mstr="this program return index of substring";
    index=parttern_index(sstr,mstr);
    if(index!=0)
        cout<<"子串起始位置:"<<index<<endl;
    else
        cout<<"匹配不成功“<<endl;
}

int parttern_index(char substr[],char str[])
{int i,j,k;
for(i=0;str[i];i++)
{
    for(j=1,k=0;(str[j]==substr[k])||(substr[k]=='?');j++,k++)
    if(!substr[k+1])
        return(i);
}
return(0);
}
4 回复
#2
wangwagn2009-10-28 13:58
不太懂,for(i=0;str[i];i++) 这个怎么回事?
#3
caolihui10082009-10-28 18:28
你没给sstr分配空间就对他复值了
#4
shiyuehai2009-11-06 10:51
"cout<<"匹配不成功<<endl;" 引号错了,改下就好了
 
#5
猫叔2009-11-30 17:40
回复 4楼 shiyuehai
O,知道了,谢谢啊
1