为什么该内存不能为“read”
这是题目:编写一个函数 string_in(),它接受两个字符串指针参数。如果第二个字符串被包含在第一个字符串中,函数就返回被包含的字符串开始的位置。例如,string_in("hats","at")返回hats中a的地址,否则,函数返回空指针。
这是我编写的:
char * string_in(char *str1,char *str2)
{
char *ptr;
while((*str1!=*str2)||*str1)
str1++;
ptr=str1;
if(*str1=='\0')
return NULL;
else
{
str1++;
str2++;
while((*str2==*str1)||*str2)
{
str1++;
str2++;
}
if(*str2=='\0')
return ptr;
else
return NULL;
}
}
可以正常编译,但运行时出现 该内存不能为“read”。
麻烦哪位大神解释一下,不胜感激。