69,382
社区成员
发帖
与我相关
我的任务
分享
while((string=*strings++)!=NULL)
这句话越界了。不知道问题在哪里,因为我没有看到什么越界的地方。
#include <stdio.h>
#include <stdlib.h>
#define TRUE 1
#define FALSE 0
int str_len(char* string);
int find_char(char** strings,char value);
/*
*
*/
int main(int argc, char** argv) {
char* s1="a";
char* q[1]={"a"};
int flag=find_char(q,'w');
printf("value %s found\n",(flag ? "was" : "was not"));
return (EXIT_SUCCESS);
}
int str_len(char* string)
{
int length=0;
while(*string++!='\0')
{
++length;
}
return length;
}
int find_char(char** strings,char value)
{
char* string;
while((string=*strings++)!=NULL)
{
while(*string!='\0')
{
if(*string++==value)
{
return TRUE;
}
}
}
return FALSE;
}
((string=*strings++)!=NULL)