实验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 }