3 #define N 1004 void Squeeze(char *s, char c); 5 int main() 6 {
7 char str[20], ch;
8 printf(\"Input a string:\"); 9 gets(str);
10 printf(\"Input a character:\");11 ch = getchar();12 Squeeze(str,ch);
13 printf(\"Results:%s\\n\", str);14 return 0;15 }
16 void Squeeze(char *s, char c)17 {
18 int i,j,len;
19 len = strlen(s);
20 for (i = len; i>=0; i--)21 {
22 if (s[i] == c)23 {
24 for (j = i; j < len; j++)25 {
26 s[j] = s[j + 1];27 }28 }29 }30 }
做法⼀
1 #include 2 #include 3 #define N 1004 void Squeeze(char *s, char c); 5 int main()
6 { 7 char str[20], ch;
8 printf(\"Input a string:\"); 9 gets(str);
10 printf(\"Input a character:\");11 ch = getchar();12 Squeeze(str, ch);
13 printf(\"Results:%s\\n\", str);14 return 0;
15 }
16 void Squeeze(char *s, char c)17 { 18 char str[N];19 char *t = str;20 strcpy(t, s);
21 for (; *t != '\\0'; t++)22 { 23 if (*t != c)
24 { 25 *s = *t;26 s++;27 }28 }
29 *s = '\\0'; /* 在字符串t2的末尾添加字符串结束标志 */30 }
做法⼆