各位帮我看看这哪里错了,为啥会不行呢

img

img

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

你都没说出你的测试结果。既然在原数组上操作你搞不定,为什么不考虑把结果赋值给另一个数组呢?

str[end] = '\0'之后,后缀=就没了呀

供参考:

#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;
}