VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 304|回复: 3

[已解决]22课作业

[复制链接]
00_avatar_middle
最佳答案
0 
在线会员 发表于 2021-8-5 19:56:24 | 显示全部楼层 |阅读模式
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;
       
}
最佳答案
31_avatar_small
2021-8-5 21:09:07
本帖最后由 cpp2019 于 2021-8-5 21:11 编辑

越界了啊,for (x = 0; x <= 50; x++),第51个元素是什么?
改成for (x = 0; x < 50; x++)就好了,结果是123和0,可是你看不到数组中有0,因为你的代码写得不严谨导致的。

严谨的写法:
  1. void get_min_max(int *max_v, int *min_v)
  2. {
  3.         int src[] = { 5, 2, 3, 6, 4, 2, 7, 8, 4, 51, 123 };
  4.         int x = 0; *max_v = src[0]; *min_v = src[0];
  5.         for (x = 0; x < sizeof(src) / sizeof(int); x++)
  6.         {
  7.                 *max_v = (*max_v > src[x]) ? *max_v : src[x];
  8.                 *min_v = (*min_v < src[x]) ? *min_v : src[x];
  9.         }
  10. }

  11. int main()
  12. {
  13.         int a = 0, b = 0;
  14.         get_min_max(&a, &b);
  15.         cout << a << endl;
  16.         cout << b << endl;
  17. }
复制代码





上一篇:MFC Teechart 3D 绘图找不到类成员
下一篇:第35课关于构造函数与析构函数的问题
31_avatar_middle
最佳答案
49 
在线会员 发表于 2021-8-5 21:09:07 | 显示全部楼层    本楼为最佳答案   
bestAnswer
本帖最后由 cpp2019 于 2021-8-5 21:11 编辑

越界了啊,for (x = 0; x <= 50; x++),第51个元素是什么?
改成for (x = 0; x < 50; x++)就好了,结果是123和0,可是你看不到数组中有0,因为你的代码写得不严谨导致的。

严谨的写法:
  1. void get_min_max(int *max_v, int *min_v)
  2. {
  3.         int src[] = { 5, 2, 3, 6, 4, 2, 7, 8, 4, 51, 123 };
  4.         int x = 0; *max_v = src[0]; *min_v = src[0];
  5.         for (x = 0; x < sizeof(src) / sizeof(int); x++)
  6.         {
  7.                 *max_v = (*max_v > src[x]) ? *max_v : src[x];
  8.                 *min_v = (*min_v < src[x]) ? *min_v : src[x];
  9.         }
  10. }

  11. int main()
  12. {
  13.         int a = 0, b = 0;
  14.         get_min_max(&a, &b);
  15.         cout << a << endl;
  16.         cout << b << endl;
  17. }
复制代码

01_avatar_middle
最佳答案
0 
在线会员 发表于 2021-8-6 12:35:42 | 显示全部楼层
cpp2019 发表于 2021-8-5 21:09
越界了啊,for (x = 0; x

大佬,可以帮我看看我的提问吗?关于35课的。22课作业
00_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2021-8-6 20:48:22 | 显示全部楼层
cpp2019 发表于 2021-8-5 21:09
越界了啊,for (x = 0; x

原来如此 谢谢大佬了 我还在那里琢磨半天  哈哈哈
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号-4 )|网站地图wx_jqr

GMT+8, 2021-10-23 16:43

Powered by CcTry.CoM

© 2009-2021 cctry.com

快速回复 返回顶部 返回列表