📄 2_10_1.c
字号:
/* ======================================== */
/* 程式实例: 2_10_1.c */
/* 在字符串中找寻子字符串 */
/* ======================================== */
/* ---------------------------------------- */
/* 计算字符串长度 */
/* ---------------------------------------- */
int strlen(char *str)
{
int i;
for ( i = 0; str[i] != '\0'; i++ ); /* 用回路计算长度 */
return i;
}
/* ---------------------------------------- */
/* 在字符串中找寻子字符串 */
/* ---------------------------------------- */
int strindex(char *str1,char *str2)
{
int end,i,j;
end = strlen(str1) - strlen(str2); /* 计算结束位置 */
if ( end > 0 ) /* 子字符串小於字符串 */
{
for ( i = 0; i <= end; i++ )
/* 用回路比较各字元 */
for ( j = i; str1[j] == str2[j-i]; j++ )
if ( str2[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);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -