vc++关于引用的编程问题

来源:百度知道 编辑:UC知道 时间:2024/05/21 07:23:51
编写一个函数,其原型为void index(int a[],int n,int &sub)
功能:在大小为n的数组中,查找某个数sub,若找到,将对应元素的下标付给sub,若没找到,将-1赋给sub。在主调函数中通过判断sub的值来判断是否有该数。在这里,sub是引用类型的参数,但起返回值的作用。
怎样在主调函数中判断sub的值呢

int main()
{
int a[10];
/*
for (int i =0; i<10; ++i)
a[i] = rand();
*/
int sub = 5;
index(a, 10, sub);
if (sub != -1)
cout <<"the index is:" <<sub <<endl;
else
cout <<"no found!" <<endl;

return 0;
}

void index(int a[], int n, int & sub)
{
int idx = -1;
for (int i=0;i<n; ++i)
{
if (a[i] == sub)
{
idx = i;
break;
}
}
sub = idx;
}

1静态变量
2传地址

太简单了,楼上的回答正确。

++i应该改成i++吧

在for循环的括号里面,对于内置变量类型i
++i和i++是一样的