爱问知识人 爱问教育 医院库

关于c++指针和数组的概念问题

首页

关于c++指针和数组的概念问题

如何删除数组中的某个元素?比如数组a【10】,要删除元素a【2】,如何实现?;如何删除字符串指针指向的字符串中的某个字符?比如char *s="abcde";想删除b,也即输出acde

提交回答
好评回答
  • 2012-03-28 08:34:32
    数组中的元素是不能删掉的,你只能去覆盖他,也就是用新元素代替以前的老元素。但是覆盖后要确保你有一个计数器或者标志来记录数组中的元素已经少了一个。比如整形数组a[5],你要将a[2]删掉,需要将a[3]和a[4]两个元素前移一位,同时记录有效数组元素为4,否则a[4]仍然有效;
    要将字符串中某个元素删掉也是同样的道理,所不同的是字符串有规定的结束标志 ,那就是空白符0,因此你只需要将s[3]和s[4]前移一位,然后将a[4]值为0就可以了
    

    好***

    2012-03-28 08:34:32

其他答案

    2012-03-27 21:43:46
  • 运用for语句去编历整个数组,再用一个指针去记录删除前的数组,一个字符变量记录要删除的目标,跨过删除目表的下标,把指针的内容赋给数组,最后在数组加上空格表示数组的结束。
        
                 
    

    非***

    2012-03-27 21:43:46

  • 2012-03-27 20:24:26
  • 你就遍历一遍数组元素,
    for(i=2;i<10;i++)
    a[i]=a[i++];
    for(i=0;i<9;i++)
    printf("%d",a[i]);
    就OK啦
    只需把要被删除的后面每一位前移一位的就行啦!
    

    2***

    2012-03-27 20:24:26

类似问题

换一换
  • C/C++ 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新资料 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 171-190
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):