| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 469 人关注过本帖
标题:[求助]关于字符串函数的问题(请求帮助)
取消只看楼主 加入收藏
非凡DZ
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2007-4-6
收藏
 问题点数:0 回复次数:2 
[求助]关于字符串函数的问题(请求帮助)

以下是我改过的程序,可还是有问题,主要问题有:
ch1:abababc ch2:abc
ch1:abc ch2:c
这两种情况,系统会提示ch2不在ch1中,请高手帮助,我实在搞不出来了,谢谢


//字符串与字符串比较
#include<stdio.h>
int mystrsubstring(char *p,char *q);
void main()
{
int n=0;
char ch1[30],ch2[30],*p,*q;
p=ch1,q=ch2;
printf("请输入第一个字符串:");
gets(ch1);
printf("请输入第二个字符串:");
gets(ch2);
n=mystrsubstring(ch1,ch2);
if(n>=0)
{
printf("数组2在数组1的下标为:%d\n",n);
}
if(n<0)
{
printf("数组2不在数组1中!\n");
}
}
int mystrsubstring(char *p,char *q)
{
int i=0,j=0,m=0,value,temp,temp1;
while(q[i]!='\0') //判断数组q是否到达最后一项'\0'
{
if(q[0]==p[i]) //判断数组q的第一个值是否与数组p的某一项相等
{
temp=i; //记录数组p的哪一项与数组q的第一项相等
temp1=i;
j=0;
while(q[j]!='\0') //判断数组q是否到达最后一项'\0'
{
if(q[j]!=p[temp]) //判断数组q与数组p的对应项是否相等
{
i=temp1;
break;
}
else
{
j++;
temp++;
}
}
}
else
{
m=0,j=0;
while(q[j]!='\0') //判断数组q是否到达最后一项'\0'
{

if(q[j]!=p[m]) //判断数组q与数组p的对应项是否相等
{
m++;
}
else
{
m++;
j++;
}
}
}
i++;
}
if(q[j]=='\0') //判断是否已经到达数组q的最后一项
{
value=temp1;
}
else
{
value=-1;
}
return value;
}

[此贴子已经被作者于2007-4-18 16:13:23编辑过]

搜索更多相关主题的帖子: 请求 字符 函数 
2007-04-16 17:08
非凡DZ
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2007-4-6
收藏
得分:0 

我的意思是不调用系统已经作好的函数,而是自己写


2007-04-16 17:24
非凡DZ
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2007-4-6
收藏
得分:0 
请求帮助

2007-04-18 16:14
快速回复:[求助]关于字符串函数的问题(请求帮助)
数据加载中...
 
   



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

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