1.首先使用strlen函数计算数组长度
2.输入想要取消的数组位置 c————意味着str[c-1] 要被替换
3. 判断C 是否大于等于 ;小于等于length
4.进行循环str[c-1]被str[c]替换。。。。以此类推,最后一位str[length - 1]=' 原来的值'
因此我们要把他替换,所以我们使用str[length-1]='\0';//字符常量用'';字符串用""进行替换。
题目:
删除字符串中指定位置的字符
编程题
编程实现:编写删除字符串中指定位置字符的函数void DeleteChar(char str[],int c),能删除字符串str中第c个字符。
示例
输入
qwert
2
输出
qert
#include <stdio.h>
#include <string.h>
#define N 81
int DeleteChar(char str[],int c)
{
int length = strlen(str);
if(1<=c&&c<=length)
{for(int i = c - 1;i < length ;i++)
{
str[i] = str[i+1];
}
}
str[length-1]='\0';//字符常量用'';字符串用""
}
int main() {
char str[N];
int c;
printf("请输入字符串:\n");
gets(str);
printf("请输入删除第几位字符");
scanf("%d",&c);
DeleteChar(str,c);
printf("%s\n",str);
return 0;
}