关于设计del函数的C程式

来源:百度知道 编辑:UC知道 时间:2024/06/06 17:02:35
//设计函数del(str,start,number),在字符串str中start位置删除number个字符。
#include "stdio.h"
#include "string.h"
del(s,i,n)//s=str,i=start,n=number
{
char s[];
int i,n;
if(i>=0&&n>0&&i+n<=s)
{
s[i]="\0";
strcat(s,s+i+n);
return(1);
}
else
return(0);
}
main()
{
char s[];
int i,j,n;
printf("\nPlease input a character:");
for(i=0;s[i]!="\0";i++)
scanf("%c",&s[i]);
printf("\n开始删除的位置:");
scanf("%d",&j);
printf("\n删除字符数:");
scanf("%d",&n);
Printf("\n删除完毕:");
for(i=0;s[i]!="\0";i++)
printf("%s\n",del[s,j,n]);
}

请高手给补充完整,我实在水平有限

修改后的程序符合ANSI C标准,修改的地方较多,请自行对比二者的不同之处

#include "stdio.h"
#include "string.h"
int del(char *s,int i,int n)//s=str,i=start,n=number
{

if(i>=0&&n>0&&i+n<=(int)strlen(s))
{
s[i-1]='\0';
strcat(s,s+i-1+n);
return(1);
}
else
return(0);
}
int main(void)
{
char s[80];
int j,n;
printf("\nPlease input a character:");
scanf("%s",s);
printf("\n开始删除的位置:");
scanf("%d",&j);
printf("\n删除字符数:");
scanf("%d",&n);
if (del(s,j,n)) {
printf("\n删除完毕:");
printf("%s\n",s);
}
else printf("删除失败!\n");
return 0;
}