设计并测试一个函数,搜索第1个函数中形参指定的字符串,并在其中查找第2个函数的形参指定的字符首次出现的位置。如果成功,函数返回指向该字符的指针;如果在字符串中未找到指定字符,返回空指针。
#include<stdio.h>
#define SIZE 40
char* search_words(char* st, char c);
int main(void)
{
char words[SIZE];
char str = 's';
char* ptr;
puts("Please input some words:");
fgets(words, SIZE, stdin);
while (str!='Q')
{
puts("Enter a char to find (Q for Quit):");
while ((str = getchar()) == '\n')continue;
if ((ptr = search_words(words, str)) != NULL)
printf("Found the char %c in the %p\n", *ptr, ptr);
else
printf("Char %c not found. Try another?\n", str);
}
return 0;
}
char* search_words(char* st, char c)
{
while (*st != '\0')
{
if (*st == c)
return st;
else
st++;
return NULL;
}
}
问题是:我的目的是如果输入Q,退出程序,在我的代码中如何实现。现在的情况如果输入Q,程序会报Char Q not found. Try another?,然后结束程序,如何修改能保证退出程序的同时,又不显示这句话?