习题11-5 指定位置输出字符串 (20 分)
#include <stdio.h> #define MAXS 10 char *match(char *s, char ch1, char ch2); int main() { char str[MAXS], ch_start, ch_end, *p; scanf("%s\n", str); scanf("%c %c", &ch_start, &ch_end); p = match(str, ch_start, ch_end); printf("%s\n", p); system("pause"); return 0; } /* 你的代码将被嵌在这里 */ char *match(char *s, char ch1, char ch2) { int flag = 0, d = -1, count = 0; for (int i = 0; i < strlen(s); i++) { if (s[i] == ch1 && count == 0) { flag = 1; d = i; count++; } if (flag == 1) printf("%c", s[i]); if (s[i] == ch2 && count == 1) { flag = 0; count++; } } printf("\n"); if (d != -1) return &s[d]; else return s + strlen(s); }
这道题比较难,return s+strlen(s) 是一个难点。

浙公网安备 33010602011771号