标题:遇到问题:用另一个指针除指针的sizeof值
只看楼主
aaa99999
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2020-6-22
 问题点数:0 回复次数:2 
遇到问题:用另一个指针除指针的sizeof值
程序代码:
#include "mp.h"
    void maopao(int mp[])
    {
        int  a = (sizeof(mp) / sizeof(mp[0]));
        cout << "冒泡前的数列" << endl;
        for (int num0 = 0; num0 < a; num0++)
        {
            cout << mp[num0] << " ";
        }
        cout << endl;
        for (int j = 0; j < a - 1; j++)
        {
            for (int i = 0; i < a - j - 1; i++)
            {
                if (mp[i] > mp[i + 1])
                {
                    int temp = mp[i];
                    mp[i] = mp[i + 1];
                    mp[i + 1] = temp;
                }
            }
        }
        cout << "冒泡后的数列:" << endl;
        for (int num = 0; num < a; num++)
        {
            cout << mp[num] << " ";
        }
        cout << endl;
    }

大佬们,这个函数中第三行警告用另一个值除指针的sizeof值,是怎么回事?
搜索更多相关主题的帖子: sizeof int num cout 指针 
2020-09-23 16:58
Nictheboy
Rank: 2
等 级:论坛游民
帖 子:7
专家分:15
注 册:2020-6-19
得分:0 
错误的详细信息?
2020-09-23 17:43
Jonny0201
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:52
帖 子:488
专家分:2603
注 册:2016-11-7
得分:0 
int [] 在函数参数这里会退化成 int *
要想在参数里面放数组, C++ 里可以这么干 :
template <size_t N>
void maopao(int (&arr)[N]);

这样就可以计算数组大小了了
如果一定要用 int [], 那么只能再加多一个参数, 用于表示数组大小 :
void mappao(int arr[], size_t size);
2020-09-23 22:33



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-503257-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.097478 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved