回复 16 楼 wssy213
我把题目和我的代码贴上,这是一本书上的题,
这是题目
设计并测试一函数,其功能是搜索由函数的第一个参数指定的字符串,在其中查找由函数的第二个参数指定的字符的第一次出现的位置(和strchr()的功能一样),使用循环语句为这个函数提供完整程序进行测试。
这是我写的
#include<stdio.h>
char *location(char *p,char ch);
int main(void)
{
char input[40];
char ch;
//gets(input);//如果把while里面的gets()移到这里,为何不行,程序输入ctrl+z也不会跳出循环
while(gets(input)&&*input!=EOF)//
{
printf("enter a character:");
ch=getchar();
getchar();//用于舍去输入ch后键入的回车,否则gets(input)会读那个回车
printf("%p\n",location(input,ch));
//gets(input);
}
printf("bye\n");
return 0;
}
char *location(char *p,char ch)
{
while(p++!=*\0*)
{
if(*p==ch)
return p;
}
return NULL;
}