C语言删除字符串中指定位置(下标)上的字符。删除成功函数返回被删字符;否则返回空值!

2025-02-25 11:06:05
推荐回答(2个)
回答1:

#include
#include

char str(char *s, unsigned  int p)
{
    int  i;
    char  ch;

    if(p >= strlen(s) || p < 0)  return  0;

    ch = s[p];

    for(i = p; s[i]; i++)  s[i] = s[i + 1];

    return  ch;
}

void  main(void)
{
    char  a[10], b;
    unsigned  int  i;

    printf("请输入字符串: ");      gets(a);
    printf("输入要删除的下标 : ");  scanf("%d", &i);

    b = str(a, i);

    if(b)  {
      printf("删除的元素为: %c\n", b);
      printf("剩余的元素为: %s\n", a);
    }

    else   printf("error. \n");
}

回答2:

scanf("%d",&i);
str(a,i);删除此行
if(str(a,i))printf("删除的元素为:%c",str(a,i));