| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 800 人关注过本帖
标题:大家帮忙看个简单程序对不对
取消只看楼主 加入收藏
黑白格子布
Rank: 1
等 级:新手上路
威 望:1
帖 子:67
专家分:0
注 册:2005-12-11
收藏
 问题点数:0 回复次数:4 
大家帮忙看个简单程序对不对
程序的用途是在母串中寻找自串,如果存在返回子串第一次出现的位置,找不到则返回-1

#include <stdio.h>
main()
{ int a;
char s[80],t[80];
gets(s);gets(t);
a=fun(s,t);
printf("a=%d\n",a);
}

fun(char *p,char *q)
{int i;
char *pp,*qq=q;
for(i=0;*p!='\0';p++,i++)
{pp=p;
while(*pp==*qq)
{pp++;qq++;
if(*qq=='\0')
return(i);
}
qq=q;
}
return(-1);
}
2005-12-17 19:13
黑白格子布
Rank: 1
等 级:新手上路
威 望:1
帖 子:67
专家分:0
注 册:2005-12-11
收藏
得分:0 

除了这个呢?


2005-12-17 19:47
黑白格子布
Rank: 1
等 级:新手上路
威 望:1
帖 子:67
专家分:0
注 册:2005-12-11
收藏
得分:0 
以下是引用ghy2001在2005-12-19 11:16:00的发言:

没有判断zi字符串的长度.
int k

while(*pp==*qq)
{pp++;qq++;k++;
//if(*qq=='\0')
// return(i);
}
在比较k==strlen(qq)

为什么一定要判断长度呢???只要到串尾不就好了???请大侠指点~~~~~~~~


2005-12-22 21:23
黑白格子布
Rank: 1
等 级:新手上路
威 望:1
帖 子:67
专家分:0
注 册:2005-12-11
收藏
得分:0 
以下是引用zxyliwei在2005-12-19 13:44:00的发言:
还有,函数只能有一个返回值啊,把return -1;删除。
把I 的值付给一个整形变量a,return a;

不是这样的吧,只返回一个返回值是说括号里只能有一个返回值吧,函数里可以有多个return语句,程序执行到第一个return就返回


2005-12-22 21:30
黑白格子布
Rank: 1
等 级:新手上路
威 望:1
帖 子:67
专家分:0
注 册:2005-12-11
收藏
得分:0 

有没哪个大哥给个一锤定音的结果呀?悬着着急呀~~~

谢谢了


2005-12-26 00:17
快速回复:大家帮忙看个简单程序对不对
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012125 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved