A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhangshuai 中级黑马   /  2015-5-22 21:05  /  1256 人查看  /  13 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

/*   基于  
     找出多个字符串中的最大公共子字符串,如“nbitheimanb”和“itheia”的最大子串是:”ithei”。(C语言)
的分析

     strlen() 函数的返回类型是 unsigned  类型 ;
初学者者在遍历字符的时候容易把strlen()  的返回值当成 unsigned  类型

          for( i=0;i<strlen(str);i++);

        不熟悉这个函数 回把  i 定义成 int  类型, 这是时候编译,回出错。

   正确的定义应该是
      unsigned  i;
        for ( i=0;i<strlen(str);i++);

13 个回复

倒序浏览
不错不错哦~
回复 使用道具 举报
自己试一次就知道了,不试一下就发现不了问题。
回复 使用道具 举报
先搬走试试效果
回复 使用道具 举报
先搬走试试效果
回复 使用道具 举报
先搬走试试效果
回复 使用道具 举报
不错不错!!!
回复 使用道具 举报
对的,我试过的确出错
回复 使用道具 举报
这个在我看来好复杂的样子
回复 使用道具 举报
fixer 中级黑马 2015-5-24 00:01:59
10#
不会搞,学习了
回复 使用道具 举报
strlen是求字符串长度,定义的就是 unsigned long,定义int不准确
回复 使用道具 举报
干货啊。。。
回复 使用道具 举报
学习学习!
回复 使用道具 举报
C语言不是强类型语言啊, 为什么编译会出错?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马