有一道题目,要求输入两行字符串,要求输出在第二个字符串中第一个字符串出现的位数。下面是我的代码。
#include<stdio.h>
#include<string.h>
int main()
{
char sen[4500],str[120],str1[120];
int i,n,n1,s,f=0,j;
gets(str);
gets(sen);
n=strlen(sen);
n1=strlen(str);
for(i=0;i<n;i++)
{
if(sen[i]==str[0])
{
for(j=0;j<n1;j++,i++)
str1[j]=sen[i];
if(strcmp(str,str1)==0)
{
printf("%d\n",i-n1+1);
f=1;
}
else i=i-n1+2;printf("%d\n",i);
}
if(f==1) break;
}
for(i=0;i<n1;i++)
printf("%c",str1[i]);
printf("\n%d\n",strcmp(str,str1));
return 0;
}
这样做好像很复杂,哪位大侠能简化,或者有更简单的方法?