结果为啥m一直等于0

#include  <conio.h>
#include  <stdio.h>
#include  <string.h>
#include <stdlib.h>
int fun(char *s, char *t)//寻找函数
{
    int n;
    char *p, *r;
    n = 0;
    while(*s)
    {
        p = s;
        r = t;
        while(*r)//如果不为空一直循环直到结束
            if(*r == *p)
            {
                r++;
                p++;
            }
            else//不相等退出
                break;
        if(r == '\0')
            n++;
        s++;
    }
    return  n;
}
main( )
{
    char s[100], t[100];
    int m;
    system("cls");
    printf("\nPlease enter string S:" );//输入母字符串
    scanf("%s", s);
    printf("\nPlease enter substring t:");//输入子字符串
    scanf("%s", t);
    m = fun(s, t);
    printf("\nThe result is : m = %d\n", m);
}

 

if(r == '\0')

r成*r

#include <stdio.h>

 

int length(char* pstr)

{

int len = 0;

while (*pstr++ != '\0')

len++;

return len;

}

 

int my_index(char* p1, char* p2)

{

int index = 0;

char* pa = p1;

char* pb = p2;

int i;

int len = length(pb);

while (*(pa+len-1) != '\0')

{

for (i = 0; i < len; i++)

{

if (*(pa+i) != *(pb+i))

break;

if (i == len-1)

return index;

}

index++;

pa++;

}

return -1;

}

 

int main()

{

char str[100] = {0};

char srchstr[100] = {0};

printf("Input string:");

scanf("%s", str);

printf("Input searchstring:");

scanf("%s", srchstr);

if (my_index(str, srchstr) == -1)

printf("未找到\n");

else

printf("index = %d\n", my_index(str, srchstr));

return 0;

}