正确的话应该显示为3,现在运行后为0。
#include <string.h>
#include<stdio.h>
#include<stdlib.h>
int head(char*str1,char*str2)
{
int num=1;
int len=0;
while(*str1!='\0')
{
if(*str1!=*str2)
{
str1++;
num++;
}
while(*str2!='\0')
{
if(*str1==*str2)
{
str1++;
str2++;
len++;
}
if(*str2=='\0')
{
return num;
}
else
{
str2-=len;
num+=len;
len=0;
break;
}
}
}
}
int main()
{
char* str1="ablolablol";
char* str2="lol";
int a=1;
a=head(str1,str2);
printf("%d",a);
}