关于读入两个字符串时出现的问题.
是我在写一个字符串匹配时出现的问题.
main()
{
int i=0,j=0,p=0;
char string1[50]={0},string2[50]={0};
printf("输入第1个串,#结束:\n");
scanf("%c",&string1[i]);
while(string1[i]!='#')
{
++i;
scanf("%c",&string1[i]);
}
printf("输入第2个串,#结束:\n");
scanf("%c",&string2[j]); //问题就在这里,后面有叙述.
while(string2[j]!='#')
{
++j;
scanf("%c",&string2[j]);
}
// printf("%s",string2);
p=find(string1,string2); //我自己写的一个判定是否匹配的函数.
if(p!=0)
printf ("第二个字符串在第一个字符串中出现,从第%d个字符开始.\n",p);
else
printf("匹配失败\n");
while(1);
return 0;
}
我仔细查找后发现,string2[0]里面是'\0',而我输入的内容是从sting2[1]开始的.而对于string1不存在这样的问题.不知道是为什么.