热门

最新

红包

立Flag

投票

同城

我的

发布
qq_64118041
西瓜霜530
4 年前
trueqq_64118041

#include <stdio.h>
//此代码为调用函数删除字符
void DelChar(char* str, char c)
//不用返回,定义指针数组就能改变实参
{
for (int i = 0;str[i] != '\0';i++)
{
// 如果在字符串中找到字符c
if (str[i] == c)
{
for (int j = i;str[j] != '\0';j++)
//用赋值删去字符
{
// 从i处开始直至字符串str末尾,依次往前赋值
str[j] = str[j + 1];
}
// 删去一个字符,字符串长度减1。然后会用for循环的i++,然后再次进入循环的时候就能重新在这个位置判断
i--;
//如果字符串长度不减1,那么下一次进入循环就就会在下一个位置判断,但是原本这个位置已经被新字符取代,还没有接收判断
}
}
}
int main()
{
char str[100], c;
scanf("%c", &c);
getchar();
//要把[输入c字符,然后换行留在缓冲区的换行符]给屏蔽
gets(str);
DelChar(str, c);
puts(str);
return 0;
}

CSDN App 扫码分享
分享
评论
点赞
打赏
  • 复制链接
  • 举报
下一条:
人生,多一份坚持,就能多一份快乐。
立即登录