一个C和指针里的例子,指针的指针,在字符串中搜索特定字符,并使用了指针数组来表示这些字符串,该怎么处理
一个C和指针里的例子,指针的指针,在字符串中搜索特定字符,并使用了指针数组来表示这些字符串
#include <stdio.h>
int
find_char(char **strings,char value)
{
//assert(strings!=NULL);
char *string;
while((string=*strings++)!=NULL)
{
while(*string != '\0 '){
printf( "%c\n ",*string);
if(*string++==value)
return 3;
}
// *strings++;
}
return 4;
}
void
main(){
char *str[3]={ "abcd ", "efgh ", "ijkl "};
printf( "%d\n ",find_char(str, 's '));
printf( "%d\n ",find_char(str, 's '));
}
===================分割线===========
运行的时候出错,好象是这句有问题while(*string != '\0 ')
不明白怎么错,是我初始化字符串数组的时候错了吗?
------解决方案--------------------
char *str[4]={ "abcd ", "efgh ", "ijkl "};
------解决方案--------------------
改改这句
char *str[3]={ "abcd ", "efgh ", "ijkl "};
->
char *str[4]={ "abcd ", "efgh ", "ijkl ", 0};
#include <stdio.h>
int
find_char(char **strings,char value)
{
//assert(strings!=NULL);
char *string;
while((string=*strings++)!=NULL)
{
while(*string != '\0 '){
printf( "%c\n ",*string);
if(*string++==value)
return 3;
}
// *strings++;
}
return 4;
}
void
main(){
char *str[3]={ "abcd ", "efgh ", "ijkl "};
printf( "%d\n ",find_char(str, 's '));
printf( "%d\n ",find_char(str, 's '));
}
===================分割线===========
运行的时候出错,好象是这句有问题while(*string != '\0 ')
不明白怎么错,是我初始化字符串数组的时候错了吗?
------解决方案--------------------
char *str[4]={ "abcd ", "efgh ", "ijkl "};
------解决方案--------------------
改改这句
char *str[3]={ "abcd ", "efgh ", "ijkl "};
->
char *str[4]={ "abcd ", "efgh ", "ijkl ", 0};