《C和指针》一书中第6章查找指针数组里字符的程序是不是有有关问题

《C和指针》一书中第6章查找指针数组里字符的程序是不是有问题
大家好,

《C和指针》一书中第6章查找指针数组里字符的程序是不是有问题?页数是103页,程序6.3

#include<stdio.h>
#define TRUE 1
#define FALSE 0

main()
{
    int find_char(char **strings,int value );
    char *vp[]={"ab","cd","ef"};

    printf("%d",find_char(vp,'z'));

    return (0);

}


int find_char(char **strings,int value )
{
    char *string;
    while ((string=*strings++)!=NULL)
    {
        while ( *string!='\0')
        {
            if ( *string++==value)
                return TRUE;
        }
    }
    return FALSE;
}

注意字符z,如果找没有的字符就报错。找有的字符就没问题,如a。


------解决思路----------------------
    printf("%d",find_char(vp,'f', sizeof(vp)/sizeof(vp[0])));

int find_char(char **strings,int value, int size )
{
    char *string;
    int i;
    for (i = 0; i < size; i++)
    {
        string = strings[i];