2_10_1.C
上传用户:wyn840322
上传日期:2007-01-13
资源大小:294k
文件大小:2k
- /* ======================================== */
- /* 程式实例: 2_10_1.c */
- /* 在字符串中找寻子字符串 */
- /* ======================================== */
- /* ---------------------------------------- */
- /* 计算字符串长度 */
- /* ---------------------------------------- */
- int strlen(char *str)
- {
- int i;
- for ( i = 0; str[i] != ' '; 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] == ' ' ) /* 子字符串字结束 */
- 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 位置在 %dn",substring,result);
- else
- printf("没有找到子字符串 %sn",substring);
- }