//下面是一个简答的C语言函数:
/******************************************************************
** 参数: str,需要操作的字符串首地址
** index,需要操作的下标
** 返回: 成功则返回被删除的字符,否则返回空(0)
**
** Author:****
** 注: 调用者应该保证传入合适的参数,本函数并不进行边界保护检查。
**
********************************************************************/
char DeleteCharByIndex(char* str, int index)
{
char c = '\0';
char temp = '\0';
int i = 0;
int j = 0;
// 如果下标非法,删除失败,返回空。
if (index < 0)
{
return 0;
}
// 否则遍历寻找
for (; c != '\0'; i++)
{
c = str[i];
// 如果找到了对应的下标,那么开始操作,否则跳过if,进行下一个循环
if (i == index)
{
// 记下这个元素将来返回
temp = c;
// 移动后面的元素,一直到结束
for (j = i; c != '\0'; j++)
{
str[j] = str[j+1];
}
// 遇到字符串结束符,说明移动完毕,返回。
return temp;
}
}
// 如果执行到这里说明一直执行到了字符串结束都没有发现index
// 删除失败,返回空
return 0;
}