|
a能输出出来 但b输出出来是一串带负号的数字
能请大神或者老师帮我看看吗 拜托了
void get_min_max( int *max_v, int *min_v)
{
int src[50] = { 5, 2, 3, 6, 4, 2, 7, 8, 4, 51, 123, };
int x = 0; *max_v = src[0]; *min_v = src[0];
for (x = 0; x <= 50; x++)
{
*max_v = (*max_v > src[x]) ? *max_v : src[x];
*min_v = (*min_v < src[x]) ? *min_v : src[x];
}
}
int main()
{
int a = 10; int b = 10;
get_min_max(&a, &b);
cout << a << endl;
cout << b << endl;
}
本帖最后由 cpp2019 于 2021-8-5 21:11 编辑
越界了啊,for (x = 0; x <= 50; x++),第51个元素是什么?
改成for (x = 0; x < 50; x++)就好了,结果是123和0,可是你看不到数组中有0,因为你的代码写得不严谨导致的。
严谨的写法:
- void get_min_max(int *max_v, int *min_v)
- {
- int src[] = { 5, 2, 3, 6, 4, 2, 7, 8, 4, 51, 123 };
- int x = 0; *max_v = src[0]; *min_v = src[0];
- for (x = 0; x < sizeof(src) / sizeof(int); x++)
- {
- *max_v = (*max_v > src[x]) ? *max_v : src[x];
- *min_v = (*min_v < src[x]) ? *min_v : src[x];
- }
- }
- int main()
- {
- int a = 0, b = 0;
- get_min_max(&a, &b);
- cout << a << endl;
- cout << b << endl;
- }
复制代码
|
上一篇: MFC Teechart 3D 绘图找不到类成员下一篇: 第35课关于构造函数与析构函数的问题
|