还是一个c语言数组的问题
本帖最后由 18362374790 于 2019-11-12 16:57 编辑1 #include <stdio.h>
2 #define UNM 10
3 int arrdel (int *,int,int); //函数用来进行所要求的的删除操作
4 void arrout (int *,int );//函数用来输出数组中的数据
5 int getindex (int n); //函数用来输入所删除元素的下标,函数中对输入的下标进行检查,若越界,则要求重新输入,直到正确为止
6 main ( )
7 {
8 int n,d,a={21,22,23,24,25,26,27,28,29,30};
9 n=NUM;
10 printf("output primary date:\n");
11 arrout(a,n);
12 d=getindex(n);
13 n=arrdel(a,n,d);
14 printf("output the data after delete :\n");
15 arrout(a,n);
16 }
函数的调用原型过程暂不写了。
在这个main中,第12,13行是什么意思?是第12行是把要删除的元素下标给d,然后第13行是删除数组a中的d所包含的下标元素吗?还有第12行的getindex函数后面怎么是n,n代表的是什么呢?
多谢各位大佬指教。 n代表的是数组元素个数 第12行是扫描一个要删除的下标,n是最大值,也就是说输入的应比n小 n=NUM,就是一维数组的个数,估计是循环或判断用到,他在第5行注释写到了会检查是否超限。
没有子函数的代码,应该就是你说的 第12行是把要删除的元素下标给d,然后第13行是删除数组a中的d所包含的下标元素 个人理解:
第12行的getindex(n),根据注释说明,函数会实现控制台提示输入一个数字x,在判断输入的x值是否比n大,也就是判断是否越界;如果越界,循环提示要求重新输入;否则函数返回x的值给d。
第13行的arrdel(a,n,d),a为传递a的首地址;n为数组的长度;d为要删除的数组下标(具体是下标还是位置需要看函数的具体实现);之后将删除后的数组长度返回给n。
getindex函数的n,前面n=NUM;说明表示的是数组的长度。
页:
[1]