为什么循环只执行了一次?re表示操作次数,调试时2 abc a就直接输出了
题目:输入一个正整数 repeat (0
输入样例:3 (repeat=3)
happy new year
a
bee
e
111211
1
#include
#define N 80
int main(void)
{
int re;
scanf("%d ",&re);
char c;
char str[N];
void delchar(char *str, char c);
for(int i=0;igets(str);
scanf("%c", &c);
getchar();
delchar(str, c);
puts(str);
}
}
void delchar(char *str, char c)
{
int i, j;
i = j = 0;
while(str[i] != '\0'){
if(str[i] != c){
str[j] = str[i];
j++;
}
i++;
}
str[j] = '\0';
}
一个循环以后就会输出结果
估计是getchar()造成的,你输出一下c的值会发现和输入的不一样
我记得是需要加上一句,去搜索一下吧