请教一个指针问题!(指针初学者)
本题主要是编写一个函数,其功能是为搜索由第一个参数指定的字符串,再其中查找由第二个参数指定的字符的第一次出现的位置。如果找到,则返回指向这个字符的指针,否则返回空指针。主函数就是求出这个位置。代码如下:
#include<stdio.h>
#include<string.h>
char *search(char *ps,char c1);
void main()
{
char *str,c2,*p1,*p2;
int i;
printf("Please input the string and character:\n");
gets(str);
scanf("%c",c2);
p1=search(str,c2);
if(p1==NULL) printf("Cannot find the character!");
else
{ i=1;
for(p2=str;p2<str+strlen(str);p2++)
{ while(*p2!=*p1)
i++;
if(*p2==*p1)
{ printf("the posit of c1 is %d",i);
break;
}
}
}
getch();
}
char *search(char *ps,char c1)
{ while(*ps!=c1)
ps++;
if(*ps==c1) return ps;
else return NULL;
}
这道题可以运行,但是没有结果,大家帮忙看看谢谢!我是指针初学者。
[ 本帖最后由 mzx19871205 于 2010-5-3 07:49 编辑 ]