您现在的位置是:群英 > 开发技术 > 编程语言
C语言中怎样删除指定的数组的值?
Admin发表于 2021-12-27 19:05:492149 次浏览

    C语言中怎样删除指定的数组的值?C语言删除数组的值是比较常见的需求,也是很基础的一个内容,这篇就给大家来介绍一下怎样删除指定的数组的值,对加深大家理解C语言数组的应用有帮助,文中示例代码介绍的很详细,感兴趣的朋友接下来一起跟随小编看看吧。

    删除数组中的元素

    python中我们可以轻易地使用如下的方法删除特定的元素:

lang = ["Python", "C++", "Java", "PHP", "Ruby", "MATLAB"]

#使用正数索引

del lang[2]
print(lang)

    然而C语言一切东西都得靠自己搭建。在学习数据结构时第一个实验就是与顺序表处理相关的内容,这里介绍的就是其中一个操作。

    我们在这边就可以先定义一个函数,参数分别是数组名和数组长度:

void del_element(int arr[],int n) //n为数组的元素个数

    数组的长度虽然需要我们自己给定,但是我们不必要直接写出其具体的元素个数,而直接先向数组中赋值。

int arr[]={1,4,5,7};

    既然要删除数组中的元素,我们就必须得先知道数组中有哪些元素。同时还要定义一个变量,并将需要删除的元素赋值给那个变量。 

  int delect=0;

    printf("删除操作前的数组:\n");
    for(int k = 0;k<n;k++)
    {
        printf("%4d",arr[k]);
    }
    printf("\n");

    printf("请输入你要删除的数:");
    scanf("%d",&delect);

    下面就是重中之中,删除这个元素的操作:

    将要删去的元素后面的元素往前移,那个要删除的函数自然而然就被覆盖掉了。

    函数源代码:

void del_element(int arr[],int n) //n为数组的元素个数
{
    int delect=0;

    printf("删除操作前的数组:\n");
    for(int k = 0;k<n;k++)
    {
        printf("%4d",arr[k]);
    }
    printf("\n");

    printf("请输入你要删除的数:");
    scanf("%d",&delect);

    for(int i=0;i<=n-1;i++)
    {
        if(delect==arr[i])
        {
            for(int j=i;j<=n-2;j++)
            {
                arr[j]=arr[j+1];//覆盖
            }
        }
    }
}

    下面我们在主函数中调用该函数:

int main()
{
    int arr[]={1,4,5,7};
    int length_arr = sizeof(arr)/sizeof(int);
    del_element(arr,length_arr);
    printf("完成操作后的数组:\n");
    for(int i=0;i<length_arr-1;i++)
    {
        printf("%4d",arr[i]);
    }
    return 0;
}


    我们可以不需去计算数组元素个数,而是使用sizeof(arr)/sizeof(int)的方式计算数组长度。

    操作过程与结果:

    C语言虽然较为麻烦,但是我们仍然可以用一些简单的方法实现。

    关于C语言中怎样删除指定的数组的值的方法就介绍到这,上述示例具有一定的借鉴价值,感兴趣的朋友可以参考,希望能对大家有帮助,想要了解更多C语言删除数组的内容,大家可以关注其它的相关文章。

文本转载自脚本之家

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

相关信息推荐
2022-09-17 17:12:45 
摘要:Spring Boot默认使用SLF4J+Logback 记录日志,并提供了默认配置,即使我们不进行任何额外配,也可以使用SLF4J+Logback进行日志输出
2022-08-19 17:49:17 
摘要:这篇文章主要介绍了python的random和time模块,具有一定借鉴价值,需要的朋友可以参考下,希望能够给你带来帮助
2022-01-15 17:49:16 
摘要:这篇文章我们来了解Scala和Java的区别,Scala是一种多范式的编程语言,Java是一门面向对象编程语言。下文对Scala和Java有简单的介绍和对比,感兴趣的朋友就继续往下看吧。
云活动
推荐内容
热门关键词
热门信息
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部