#include<stdio.h>
#include<string.h>
void DelChar(char *str,char c);
int main(){
char x;
scanf("%c",&x);
getchar();
char a[100];
gets(a);
DelChar(a,x);
puts(a);
return 0;
}
void DelChar(char *str,char c){
int i,j,k;
for(i=0;i<100;i++){
if(str[i]==c){
k=i;
for(i=k;i<100;i++)
str[i]=str[i+1];
}
}
}
#include<stdio.h>
#include<string.h>
void DelChar(char* str, char c);
int main() {
char x;
scanf("%c", &x);
getchar();
char a[100];
gets_s(a);
DelChar(a, x);
puts(a);
return 0;
}
void DelChar(char* str, char c) {
int i, j, k;
for (i = 0; i < 100; i++) {
if (str[i] == c) {
k = i;
for (j = k; j < 100; j++)
str[j] = str[j + 1];
}
}
}
两个循环都用到i会出问题
第二个for的i改成j
#include<stdio.h>
#include<string.h>
void DelChar(char *str,char c);
int main() {
char x;
scanf("%c",&x);
getchar();
char a[100];
gets(a);
DelChar(a,x);
puts(a);
return 0;
}
void DelChar(char *str,char c) {
int i,j,k;
for(i=0; i<strlen(str); i++)
{
if(str[i]==c)
{
k=i;
for(j=k; j<strlen(str); j++)
str[j]=str[j+1];
}
}
}
第二个for循环换一个变量,不要使用 i