CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

字符串的问题??

楼主hszr(随风)2005-04-03 10:45:12 在 C/C++ / C++ 语言 提问

int   Index(char   S[],   char   T[],   int   pos)  
  {  
          int   i,   j,   slen,   tlen;  
          i   =   pos;  
          j   =   0;  
          slen   =   strlen(S);  
          tlen   =   strlen(T);  
          while(i<slen   &&   j<tlen)  
          {  
                if(S[i]   ==   T[j])  
                {  
                        i++;  
                        j++;  
                }  
                else  
                {  
                        i   =   i   -   j   +   2;           ??     ====>   i   =   i   -   j;  
                        j   =   1;                           ??     ====>   j   =   0;  
                  }  
            }  
  }  
   
  如果i   =   i   -j   +   2;   j   =   1改为   i   =   i   -   j;   j   =   0;   也可以.  
  这里如果不改i   ==   0,   j   ==   0   时用   i   =   i   -   j   +   2;   j   =   1;得到i   ==   2,   j   ==   1;    
  我认为串T[0]就没法参加与S串的比较了,虽然得到的结果是正确的.不解??? 问题点数:20、回复次数:5Top

1 楼arrowcy(长弓手)回复于 2005-04-03 10:52:53 得分 0

你是直接抄的书上的程序吧  
  抄错了Top

2 楼arrowcy(长弓手)回复于 2005-04-03 10:54:20 得分 10

书上是将s[0]和t[0]用于存储字符串长度的  
  而你这里把它当成字符了,而自己用C语言里面的标准字符串表示方式来计算字符串的长度  
  所以错了Top

3 楼arrowcy(长弓手)回复于 2005-04-03 10:57:25 得分 0

如果用C语言里面的字符串表示方法的话  
  那个应该改为i=i-j+1吧?Top

4 楼llf_hust()回复于 2005-04-03 11:34:13 得分 10

int   Index(char   S[],   char   T[],   int   pos)  
  {  
          int   i,   j,   slen,   tlen;  
          i   =   pos;  
          j   =   0;  
          slen   =   strlen(S);  
          tlen   =   strlen(T);  
          while(i<slen   &&   j<tlen)  
          {  
                if(S[i]   ==   T[j])  
                {  
                        i++;  
                        j++;  
                }  
                else  
                {  
                        i   =   i   -   j   +   2;           ??     ====>   i   =   i   -   j;     改为:i   =   i-j+1;  
                        j   =   1;                           ??     ====>   j   =   0;             改为:j   =   0;  
                  }  
            }  
  }  
  Top

5 楼zhousqy(标准C匪徒)(甩拉,甩拉)回复于 2005-04-03 11:59:54 得分 0

markTop

相关问题

  • 字符串.....哎,字符串
  • 截字符串???
  • 字符串
  • 取字符串s
  • 字符串
  • 字符串
  • 取字符串
  • 字符串啊!
  • 字符串
  • switch(字符串)

关键词

  • 字符串
  • tlen
  • slen
  • 改为
  • strlen
  • pos
  • char

得分解答快速导航

  • 帖主:hszr
  • arrowcy
  • llf_hust

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo