关于c++指针和数组的概念问题
如何删除数组中的某个元素?比如数组a【10】,要删除元素a【2】,如何实现?;如何删除字符串指针指向的字符串中的某个字符?比如char *s="abcde";想删除b,也即输出acde
数组中的元素是不能删掉的,你只能去覆盖他,也就是用新元素代替以前的老元素。但是覆盖后要确保你有一个计数器或者标志来记录数组中的元素已经少了一个。比如整形数组a[5],你要将a[2]删掉,需要将a[3]和a[4]两个元素前移一位,同时记录有效数组元素为4,否则a[4]仍然有效; 要将字符串中某个元素删掉也是同样的道理,所不同的是字符串有规定的结束标志 ,那就是空白符0,因此你只需要将s[3]和s[4]前移一位,然后将a[4]值为0就可以了
运用for语句去编历整个数组,再用一个指针去记录删除前的数组,一个字符变量记录要删除的目标,跨过删除目表的下标,把指针的内容赋给数组,最后在数组加上空格表示数组的结束。
你就遍历一遍数组元素, for(i=2;i<10;i++) a[i]=a[i++]; for(i=0;i<9;i++) printf("%d",a[i]); 就OK啦 只需把要被删除的后面每一位前移一位的就行啦!
答:#include using namespace std; char* solve(char *s, char *t) { char* c = (char*)...详情>>
问:挺简单的一C函数,不过我是初学者,暂时还不会写,请好心人多多帮忙!
答:int mystrlen(char *str) { int n = 0; while (*str) { n++; str++;} return n; } voi...详情>>