串实验 帮忙改一下下面的程序
#include"stdio.h"
#include"string.h"
int x,y;
intdingwei(char s1[],char s2[]);//定位函数
{
int i,j,k;
i=0;j=0;
while(i<x&&j<y);//i,j分别来控制s1,s2数组中字符的位置
{
if(s1==s2[j])//如果二者相等,则比较2个数组的下一位
{
i++;j++;
}
else {
i=i-j+1;j=0;
};//不相等j置数为0,i从i-j+1开始
}
if(s2[y-1]==s1[i-1]&&j==y)
return i-j+1;// 比较完后,输出比较结果
else return 0;
}
int lianjie(char s1[],char s2[])
{
int i,j,k;
char s3[50];//定义一个数组来存放s1,s2连接后的字符串
i=0;j=0;
while(s1!=0)
{
s3=s1;
i++; //依次将s1中的字符串输入到s3中
}
while(s2[j]!=0)
{
s3=s2[j];//将s2中的字符串紧接着传送到s3中
i++;j++;
}
s3=0;
puts(s3);//输出连接完成后的结果
}
int main()
{
char s1[50],s2[50];
int i,j,k;
printf("\t\t串的基本操作");
printf("\n\t输入主字符串:");
gets(s1);//输入语句
x=strlen(s1);//计算s1的长度
printf("\n\t输入子字符串:");
gets(s2);
y=strlen(s2);
k=dingwei(s1,s2);//调用定位函数
printf("\n\t定位结果:");//输出定位结果
if(k) printf("\t%d",k);
else printf("不存在从属关系");
printf("\n\t字符串相连:");
lianjie(s1,s2);//调用连接函数,将字符串连接
getchar();
希望可以改正并且自己运行一下,一定要可以运行,最好是将改正好的程序也发给我,我的邮箱是[email protected],在五点钟以前,如果满意,还可以加悬赏分哦
|