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