请问数组作为形式参数时,长度未知,可以设为n吗,该怎么设置

来源:6-4 数组作为函数参数

初心者Kay

2018-06-29 15:31

#include <stdio.h>

int n;//设n为该数组的长度

int getIndex(int arr[n],int value)

{

int i,j,index;

int j=0;int index=-1;

for(i=0;i<n;i++)

{

if(arr[i]==value)

{ j++;printf("第%d个目标的下标为%d ",j,i);}

if(j>0){index=j;}

}

return index;

}

第2行和第3行 应该怎么设置n,是去掉第二行,然后直接int arr[int n] 还是像现在这样设置?

如果像这样设置,在主函数中要使用这个自定义函数,是可以直接声明arr[5]使用

还是要先声明n=5再使用

写回答 关注

3回答

  • 慕数据035998
    2018-07-01 16:00:23
    已采纳

    在你给你的n赋值之前,是不能用他来定义数组的。但你可以定义数组时不定义其长度。然后函数里可以通过一个输入函数scanf来给n赋值,就可以确定你的for循环的长度了。

    初心者Kay

    好的 谢谢

    2018-07-01 20:04:07

    共 1 条回复 >

  • 慕数据035998
    2018-07-01 16:01:47

    或者可以先通过输入函数scanf给n赋值。再用n定义数组的长度。

  • 初心者Kay
    2018-06-29 15:33:48

    如果像这样设置,在主函数中可以直接声明arr[5]使用还是要先声明n=5

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926209 学习 · 20797 问题

查看课程

相似问题