我想我会一直走在测试的道路上,既然 我已选择了测试这条路
欢迎测试界的XDJM一起交流、共同进步
在字符串中查找字串算法
上一篇 /
下一篇 2009-05-25 23:21:47
#include <stdio.h>
int strlen(char *str)
{
int i;
for ( i = 0; str[i] != '\0'; i++ ); /* 用循环计算长度 */
return i;
}
/* ---------------------------------------- */
/*
在字符串中找寻子字符串 */
/*
---------------------------------------- */
int strindex(char *str,char
*substr)
{
int end,i,j;
end = strlen(str) - strlen(substr); /* 计算结束位置 */
if ( end > 0
) /* 子字符串小于字符串 */
{
for ( i = 0; i <=
end; i++ )
/* 用循环比较 */
for ( j = i; str[j] ==
substr[j-i]; j++ )
if ( substr[j-i+1] == '\0' ) /* 子字符串字结束
*/
return i + 1; /* 找到了子字符串 */
}
return -1;
}
/* ---------------------------------------- */
/* 主程式:
在字符串中找寻子字符串出现位置. */
/* ----------------------------------------
*/
void main()
{
char string[100]; /* 字符串定义
*/
char substring[100]; /* 子字符串定义 */
int
result; /* 找寻结果 */
printf("请输入字符串 ==> ");
gets(string); /*
读取字符串 */
printf("请输入要搜索的子字符串 ==> ");
gets(substring); /* 读取子字符串 */
result =
strindex(string,substring); /* 搜寻子字符串 */
if ( result > 0 )
printf("子字符串 %s 位置在 %d\n",substring,result);
else
printf("没有找到子字符串 %s\n",substring);
getchar();
}
收藏
举报
TAG: