/*
编写一个函数,删除一个字符串中的一部分,函数原型如下:
int del_substr(char *str,char const *substr);
首先判断substr是否出现在str中,如果并未出现则返回0;如果出现,函数应该把str中位于该子串后面的所有字符复制到该子串的位置,
从而删除这个子串,然后函数返回1,如果substr多次出现在str中,函数只删除第一次出现的子串,函数的第二个参数绝不会被修改
*/
应用点
- 指针和数组
- 运用指针自加可以指向数组的元素来实现对数组的操作
- 指针在数组内部操作,指向发生变化,所以如果还需要再次从头循环的话,要设定一个原点.
- 在写这个函数的时候,if的判断条件中'='和'=='两个运算符,要应用好,否则会出现与目的不符的结果
代码
/*
编写一个函数,删除一个字符串中的一部分,函数原型如下:
int del_substr(char *str,char const *substr);
首先判断substr是否出现在str中,如果并未出现则返回0;如果出现,函数应该把str中位于该子串后面的所有字符复制到该子串的位置,
从而删除这个子串,然后函数返回1,如果substr多次出现在str中,函数只删除第一次出现的子串,函数的第二个参数绝不会被修改*/
#define CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int del_substr(char *str, char const *substr)
{
//int n = 0;
char *p, *first;
int flag = 0;//标记变量
char *end;
end = str;//设置str还原点
p = NULL;
first = substr;//设置substr的还原点
wh