#include
#define SIZE 81
char *stringIn(char *str1, char *str2);
int main(void)
{
char string1[SIZE];
char string2[SIZE];
char *p;
printf ("输入一个字符串:\n");
gets(string1);
while (*string1 != 'q')
{
printf("输入要查找的字符串:\n");
gets(string2);
p = stringIn(string1, string2);
if (p)
{
printf("找到字符串:\n");
puts(p);
}
else
printf("未找到字符串。\n");
printf ("\n输入一个字符串:\n");
gets(string1);
} // endof while
printf("程序结束\n");
return 0;
} // endof main
char *stringIn(char *str1, char *str2)
{
char *p1 = str1;
char *p2 = str2;
if ('\0'==*str1 || '\0'==*str2)
return NULL;
while (1)
{
if (*str1 == *str2) // 如果str1的字符与str2字符相同
{
if ('\0' == *++str2) // 判断str2是否结束
return p1;
if ('\0' == *++str1) // 若str1结束,str2未结束,则返回空指针
return NULL;
} // endof if
else
{
if ('\0' == *++str1)
return NULL;
p1 = str1;
str2 = p2;
} // endof else
} // endof while
} // endof stringIn
输入一个字符,再输入一个以回车结束的字符串(少于80 个字符),在字符串中查找该字符。如果找到,则输出该字符在字符串中所对应的最大下标(下标从0开始)。