输入字符串(包含多个‘’)删除其中除前导和尾部以外的‘’。
看图片,这个提问方式搞得我有点麻
#include <stdio.h>
int main()
{
char str[1000];
char new_str[1000];
scanf("%s", str);
const char *p = str;
char *r = new_str;
int front = 1;
while (*p)
{
if (*p == '*')
{
if (front)
{
// copy front *'s
while (*p && *p == '*')
*r++ = *p++;
}
else
{
const char *q = p;
while (*q && *q == '*')
q++;
// copy back *'s
if (*q == '\0')
while (*p)
*r++ = *p++;
else
p = q;
}
}
else
{
front = 0;
// copy letters
while (*p && *p != '*')
*r++ = *p++;
}
}
*r = '\0';
printf("%s\n", new_str);
return 0;
}