2009
04-30

#include <stdio.h>
#include <assert.h>
int find_string(char strings[4][20],const char *src)
{
 /*对一个字符串的定位,第2个字符串那么就得到1*/char a;
 const char *str=&a;
 const char *d=NULL;
 int pos=0;
 assert((strings!=NULL)&&(src!=NULL));
 while((str=*strings++)!=NULL)
  {
   d=src;
   while(*str!=’\0′)
    {
     if(*str==*d)
      {
       str++;
       d++;
      }
      break;/*退出while*/
    }
    if(*str!=’\0′)
     {
      pos++;/*说明不是最后一个字符进入下一个字符串进行比较*/
     }
    else
     {
      printf(“%s\n”,strings[pos]);
      return pos;
     }
  }
}
int main(void)
{
 char strings[4][20]={“wufeng”,”zhoude”,”wuixia”,NULL};
 const char *src=”wuxia”;
 int pos;
 pos=find_string(strings,src);
 printf(“pos=%d\n”,pos);
 getch();
 exit(0);
}


得到的结果是pos=3,错在哪里


留下一个回复