免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: snowboy9859
打印 上一主题 下一主题

求高手指教,在字符串中查找子串,并返回其位置 [复制链接]

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
11 [报告]
发表于 2011-08-27 15:14 |只看该作者
回复  MMMIX


    哪三种实现?我没看明白,请多指教!
snowboy9859 发表于 2011-08-27 14:31



    你寫了一種,我寫了一種,davidfoxhu 給了 Linux kernel 的又是一種。

论坛徽章:
0
12 [报告]
发表于 2011-08-27 15:19 |只看该作者
回复 10# MMMIX


    还有pos = -1;你的pos从-1开始取值,我一直没看懂你的意图

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
13 [报告]
发表于 2011-08-27 15:24 |只看该作者
回复  MMMIX


    还有pos = -1;你的pos从-1开始取值,我一直没看懂你的意图
snowboy9859 发表于 2011-08-27 15:19



    pos 初始化為 -1, 在第一次進入 while 的時候,i = pos + 1 就為 0 了,從 haystack 的第一個字符開始比較。

论坛徽章:
0
14 [报告]
发表于 2011-08-28 13:06 |只看该作者
  1. #include <stdio.h>
  2. #include <string.h>

  3. int find_substring(char* str1,char* str2){
  4.     char* str3;
  5.     str3 = strstr(str1,str2);
  6.     if(str3 == NULL)
  7.         return -1;
  8.     else
  9.         return str3-str1;
  10. }
复制代码
这样不行么~~

论坛徽章:
0
15 [报告]
发表于 2011-08-29 15:36 |只看该作者
回复 14# rainbownl


    那是系统函数,不是自己的东西。

论坛徽章:
0
16 [报告]
发表于 2011-09-03 17:34 |只看该作者
回复  davidfoxhu


    非常感谢你的热心,我已经将问题搞定,证明我的思路是可以的,你可以看看我的解 ...
snowboy9859 发表于 2011-08-27 14:15



    从你的修改看出也证明你确实少用了或写错了一个循环.

论坛徽章:
0
17 [报告]
发表于 2011-09-04 13:49 |只看该作者
回复 16# davidfoxhu


    你的分析是对的,以后多多指教
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP