|
小作业:
实现一个函数,作用是获取一个数组中的最大值和最小值,函数声明如下:
void get_min_max(int src[], int* max_v, int* min_v)
{
//函数代码写在这个下面
}
源代码:
#include "stdafx.h"
#include <iostream>
using namespace std;
int get_min_max(int src[], int* max_v, int* min_v)
{
*max_v = src[0], *min_v = src[0];
int len = sizeof(src) / sizeof(0);
for (int x = 0; x <= len - 1; ++x)
{
*max_v = (*max_v > src[x]) ? *max_v : src[x];
*min_v = (*min_v < src[x]) ? *min_v : src[x];
}
return(len);
}
int main()
{
int a[] = { 43, -77, 454, 2, 6, 311 };
int max, min, len;
len = get_min_max(a, &max, &min);
cout << "max=" << max << endl;
cout << "min=" << min << endl;
cout << "len为" << len << endl;
return 0;
}
输出结果为
max=43
min=43
len为1
这里发现在函数里调用sizeof(src),实际获取的是*SRC指针的内存是4个字节,有没有办法在函数里获取数组形式参数指向数组的实际大小?这里实际a[]应该是6个元素。 |
上一篇: VC如何检查系统主音量是否静音?下一篇: MFC如何判断系统主音量是否静音?最好给个代码,谢谢
|