C语言 指针数组的遍历拜托各位大神
voidstr(char*str1[],char*str2[],charfindstr[],charreturnstr[]){inti;for(i=0;str1[i]!=...
void str(char *str1[],char *str2[],char findstr[],char returnstr[]) { int i; for(i=0;str1[i]!='NULL';++i) { if(strcmp(str1[i],findstr)==0) { strcpy(returnstr,str2[i]); } } } 函数功能:在一个指针数组中查找匹配字符串,并在另一个指针数组中将对应下标位置的字符串返回。 对于for循环for(i=0;str1[i]!='NULL';++i)中的终止条件,我不知道要怎么写,总是内存出错。请高手指导一下,str1的具体个数不知道。
展开
展开全部
前面说的: NULL 不要加引号 . str[i] 是一个指针 不会是 NULL , 除非str[i]指向的内存位置的地址是 NUll 或者你事先将 数组str[]中的每一个无素都初使化为 NULL ; 因为你 传入函数的参数 是一个指针数组 你可以显式的把 str[] 的长度作为参数传递到你的函数里面去 . void str(char *str1[],char *str2[],char findstr[],char returnstr[] ,int str1_len ) { int i; for(i=0; i < len ; ++i) { if(strcmp(str1[i],findstr)==0) { strcpy(returnstr,str2[i]); } } }
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询