|
#include <iostream>
using namespace std; /////使用标准命名空间
//提取数组中最大值和最小值
void get_min_max(int src[], int* max_s, int* min_s)
{
cout << src[11] << endl;
int chang = sizeof(src); //数组作为形参,此处如何获得数组大小?????????????????
cout << "数组长度为:" << chang << endl;
for (int i=0; i<chang; ++i)
{
if (*max_s<src[i])
{
*max_s = src[i];
}
if (*min_s>src[i])
{
*min_s = src[i];
}
}
}
int main()
{
int shuzu[] = { 1,2,3,4,8,9,0,7,6,7,1,50 };
int l = sizeof(shuzu) / sizeof(int); //此处可以获得数组大小
cout << l << endl;
int max_s = shuzu[0];
int min_s = shuzu[0];
get_min_max(shuzu, &max_s, &min_s);
cout << "max=" << max_s << endl;
cout << "min=" << min_s << endl;
return 0;
}
数组作为函数的形参被传入函数,如上述程序所示。
为什么此时利用sizeof函数求出的是8,而如果在主函数中则是12*4=48?
这种情况下如何在函数中获得数组大小? |
上一篇: 生成失败下一篇: Vsual Studio 2019的一些问题
|