各位帮我看看这个为啥结果是错的呢

img

img


输入一个字符串,除保留前导和后缀的'='外,删除其中的所有'=',例如字符串中的内容为:"=china=gd=cz=",删除后,字符串中的内容应当是:"=chinagdcz="。

先把end初始化一下

修改如下,供参考:

#include <stdio.h>
#include <string.h>
int main()
{
    char str[100];
    int  i, j, len, start = 0, end;
    printf("请输入一个字符串:\n");
    scanf("%s", str);
    while (str[start] == '=') start++;
    end = strlen(str) - 1;
    while (str[end] == '=') end--;
    for (i = 0,j = 0; str[i]; i++){
        if (i < start)
           str[j++] = str[i];
        else if (str[i] != '=')
            str[j++] = str[i];
        else if (i >= end)
            str[j++] = str[i];
    }
    str[j] = '\0';
    puts(str);
    return 0;
}