实验11-1-6 指定位置输出字符串

 1 #include <stdio.h>
 2 
 3 #define MAXS 10
 4 
 5 char* match(char* s, char ch1, char ch2);
 6 
 7 int main()
 8 {
 9     char str[MAXS], ch_start, ch_end, * p;
10 
11     scanf("%s\n", str, MAXS);
12     scanf("%c %c", &ch_start, &ch_end);
13     p = match(str, ch_start, ch_end);
14     printf("%s\n", p);
15 
16     return 0;
17 }
18 
19 /* 你的代码将被嵌在这里 */
20 char* match(char* s, char ch1, char ch2)
21 {
22     char *p, *q, *r;
23     char temp[MAXS];
24     int i;
25     
26     //查找ch1的位置,找到p就是位置指针,找不到p指针指向结束符 
27     p = s;
28     while (*p != '\0')
29     {
30         if (*p == ch1) 
31         {
32             break;
33         }
34         p++;
35     }
36     
37     //查找ch2的位置,从P位置开始查找 
38     //找到q就是位置指针,找不到q指向结束符 
39     q = p;
40     if (*p != '\0')
41     {
42         
43         while (*q != '\0')
44         {
45             if (*q == ch2)
46             {
47                 break;
48             }
49             q++;
50         }
51     }
52     
53     i = 0;
54     for (r = p; r <= q; r++)
55     {
56         temp[i] = *r;
57         i++;
58     }
59     temp[i] = '\0';
60     
61     printf("%s\n", temp);
62     
63     return p;    
64 }

 

posted @ 2020-07-13 18:56  jason2018  阅读(554)  评论(0编辑  收藏  举报