望采纳
返回int是函数定义了需要返回int。
函数的功能是删除数组中等于第三个参数x的元素,最后返回数组中还剩下多少个元素,所以函数返回类型是int,而函数功能中m就是用来记录数组元素个数的,所以最后返回m。
望采纳,谢谢!
看代码要联系上下文,你只看其中一个函数的其中一个功能,那肯定理解不了意图呀
就像你只看轮子不看汽车,也肯定理解不了为什么要有这么个玩意,要是船和火箭肯定就不需要轮子了呗
这就需要先从数据结构讲起
当我们学会了用链表之后,动态的添加和删除通常用链表来做,这样不浪费空间。
但是没学会用链表之前怎么办,偶尔还是需要用数组来做。但是数组是固定长度的,没办法动态修改,所以你只好多定义一些空间。
比如数组长度一开始定义成100,那么里面最多可以存100个学生信息,但是真正存入之前它里面都是无效信息,实际长度其实是0,这需要另外一个变量来记录。
当你添加或者删除了信息之后,也要对这个数字进行修改,否则你循环打印的时候打印的都是无效信息就不好了
那么如果添加和删除的功能封装进了函数里面,怎么修改就成了问题,大概就这么3种办法
1.长度用全局变量来保存,这样函数里可以直接访问,但是这违反了封装原则,函数跟全局变量高度耦合,适用性不强
2.可以把int n改为int *n,传入的n的地址,得到的是指向地址的指针,这样就可以直接修改传入的实参的值了
3.把修改后新的n值return回去,调用的地方得到函数返回值后重新赋值给长度变量