L1 int main()L2 {L3 char str[81]; L4 int i = 0, j = 0;L5 gets(str);L6 while(str[i] != '\0')L7 {L8 if(str[i]!='c' || str[i] != 'C')L9 str[j] = str[i];L10 i++;L11 }L12 str[j] = '\0';L13 printf("删除后的字符串:%s", str);L14 }
第8行的if后面应该用添加一个{}把str[j] = str[i] 包进去,并加一个j++。或者直接把第9行改成str[j++] = str[i]
int main()
{
char str[81];
int i = 0, j = 0;
gets(str);
while(str[i] != '\0')
{
if(str[i]!='c' && str[i] != 'C')
str[j++] = str[i];
i++;
}
str[j] = '\0';
printf("删除后的字符串:%s", str);
}
第一个错误在第8行,判断条件应该是 str[i] != 'c' && str[i] != 'C' 。
第二个错误在第10行,应该先将符合条件的字符添加到新的字符串 str[j] 中,再将 j 自增。
char str[81];
int i = 0, j = 0;
gets(str);
while (str[i] != '\0') {
if (str[i] != 'c' && str[i] != 'C') {
str[j] = str[i];
j++;
}
i++;
}
str[j] = '\0';
printf("删除后的字符串:%s", str);
不知道你这个问题是否已经解决, 如果还没有解决的话:很抱歉,我需要一个具体的问题来回答。