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

#include <stdio.h>
main()
{int fun(char,char);
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);
}

你的首部没有声明fun函数


江湖中人向来都是不鸣则已,一鸣惊人。总有一天我要下天山,威振武林!
2005-12-17 19:42
黑白格子布
Rank: 1
等 级:新手上路
威 望:1
帖 子:67
专家分:0
注 册:2005-12-11
收藏
得分:0 

除了这个呢?


2005-12-17 19:47
spp509
Rank: 1
等 级:新手上路
威 望:1
帖 子:98
专家分:0
注 册:2005-11-23
收藏
得分:0 

过路~~~~~~


一听就懂,一看就会,一做就错……
2005-12-18 22:19
ghy2001
Rank: 1
等 级:新手上路
威 望:1
帖 子:87
专家分:0
注 册:2005-10-30
收藏
得分:0 

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

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


2005-12-19 11:16
zxyliwei
Rank: 1
等 级:新手上路
帖 子:88
专家分:0
注 册:2005-12-6
收藏
得分:0 
你是不是要找S T中相同字符的个数啊?
前面没有函数申明;MAIN函数应该是返回空;

醒逍遥;醉也逍遥!
2005-12-19 13:41
zxyliwei
Rank: 1
等 级:新手上路
帖 子:88
专家分:0
注 册:2005-12-6
收藏
得分:0 
还有,函数只能有一个返回值啊,把return -1;删除。
把I 的值付给一个整形变量a,return a;

醒逍遥;醉也逍遥!
2005-12-19 13:44
黑白格子布
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.020077 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved