c语言获得字符串gets,-------关于读字符串gets的问题-------

//中文是乱码,不好意思,将就看吧

#include

#include

#include "stdlib.h"

#include "string.h"

#define maxsize 100

int k[10];

void index(char *a,char *b)

{

k[0]=-1;

int i,j,m,n;

i=0;j=0;m=0;n=0;

while(a[i]!='\0')

{

if(a[i]==b[j])

{

++i;++j;

}

else

{

i=i-j+1;j=0;

}

if(b[j]=='\0')

{

n=i-j;

k[m]=n;

k[m+1]=-1;

++m;

}

}

}

void main()

{

int o;

char s[maxsize];

char p[maxsize];

char t[maxsize];

printf("\n");

printf("\n");

printf(" µÚËÄÕ ×Ö·û´®µÄÆ¥ÅäÓëÌæ»» \n");

printf("\n");

printf("\n");

printf(" by Ç¿²¨ ѧºÅ:06040648 \n");

printf(" \n");

printf(" 2006.3\n");

printf("\n");

printf("********************************************************************************\n");

printf("ÇëÊäÈëԭʼ×Ö·û´®.\n");

scanf("%d",&o);

gets(s);

printf("ÇëÊäÈëÒª²éÕÒµÄ×Ö·û´®P.\n");

gets(p);

printf("ÄãÏëÒª°Ñ×Ö·û´®%sÌ滻Ϊʲô?.\n",p);

gets(t);

printf("\n");

printf("*************************\n");

index(s,p);

char x[100];

int e=0,f=0,g=0,h=0,i=0,j=0,l=0;

f=strlen(p);

g=strlen(t);

strcpy(x,s);

if(k[0]!=-1)

{

i=k[e];

for(;k[e]!=-1;)

{

strcpy(&s[i],t);

i=i+g;

h=k[e]+f;

strcpy(&s[i],&x[h]);

e++;

i=k[e]+(g-f)*e;

}

printf("Ìæ»»Íê³É,ÕâÀïÊÇÊäÈë½á¹û:\n");

printf("%s\n",s);

}

else

{

printf("¶Ô²»Æð,ûÓÐÆ¥Åä×Ö·û´®,ԭʼ×Ö·û´®Ã»ÓиĶ¯\n");

printf("%s\n",s);}

printf("Í˳öÇë°´1,ÆäËûÈÎÒâ¼ü¼ÌÐø\n");

scanf("%d",&o);

if(o==1)

{

exit(1);

}

else

printf("\n");

printf("\n");

printf("\n");

printf("\n");

printf("\n");

printf("\n");

printf("\n");

printf("\n");

main();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值