c++ 大哥姐姐些帮帮忙

来源:百度知道 编辑:UC知道 时间:2024/05/27 04:04:48
int search (int[],int n, int val)
{
int i;
for(i=0;i<n;i++)
if(val==v[i])
return (i+1)
return -1
}
如果不满足if(val==v[i])
它返回的值是不是一直都是-1
谁能给我解释这一段代码啊?
sizeof(sz)\sizeof(int)//sz是一个数组
这句代码是什么意思?

是的,假如v[0]到v[n-1]中都不满足val==v[i]时,返回值都是-1.
在for循环语句中,只要在v数组中找到一个元素的值与val相同,则跳出该函数,并返回其i+1。
假如在n个数中都找不到一个数与val相等,则for循环结束,执行return -1;
这样就返回-1了

sizeof(sz)/sizeof(int)//sz是一个数组
该句的意思是求出sz数组的元素个数(若我猜测不错,sz一定是int数组吧?)
sizeof(sz)求出sz数组所占的存储空间。
sizeof(int)求出一个int所占的存储空间。
两者相除的结果就是sz数组的元素个数了。

int search (int[] v,int n, int val)
{
int i;
for(i=0;i<n;i++)
if(val==v[i])
return i+1;
return -1;
}
这段代码的意思是在数组v中寻找val这个值,如果找到这个值就返回这个值在数组中的位置,如果没有就返回-1

不是的。如果if条件满足了,就立即返回了

是的。return 是什么意思呢?就是只要return了,程序就不响下执行了,所以说找的是第一个与val相等的数的下标(从1开始了),找不到就一直不return ,最后没找到,返回-1
还有什么不明白?

int search (int[],int n, int val)中 int[]改为int v[],试一试