C语言指针题目?
编写一函数,利用指针实现字符串的删除,删除左边m个字符要求不用strcpy、strlen函数。要求有子函数...
编写一函数,利用指针实现字符串的删除,删除左边m个字符要求不用strcpy、strlen函数。
要求有子函数 展开
要求有子函数 展开
1个回答
展开全部
#include<stdio.h>
int getLength(char *s){
int count = 0;
while (*s)
{
count++;
s++;
}
return count;
}
void delete(int pos,char *s){
if(pos<=0||pos>getLength(s)){
printf("删除位置不合法!\n");
return;
}
for(int i = 0;i<getLength(s)-pos;i++){
*(s+i) = *(s+pos+i);
}
*(s+getLength(s)-pos) = '\0';
}
int main(){
char str[20];
int pos = 0;
printf("请输入字符串:");
scanf("%s",str);
printf("请输入要删除的位置:");
scanf("%d",&pos);
delete(pos,str);
printf("%s",str);
return 0;
}
int getLength(char *s){
int count = 0;
while (*s)
{
count++;
s++;
}
return count;
}
void delete(int pos,char *s){
if(pos<=0||pos>getLength(s)){
printf("删除位置不合法!\n");
return;
}
for(int i = 0;i<getLength(s)-pos;i++){
*(s+i) = *(s+pos+i);
}
*(s+getLength(s)-pos) = '\0';
}
int main(){
char str[20];
int pos = 0;
printf("请输入字符串:");
scanf("%s",str);
printf("请输入要删除的位置:");
scanf("%d",&pos);
delete(pos,str);
printf("%s",str);
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询