木剑温华 2016-10-19 07:27 采纳率: 50%
浏览 3202
已采纳

C++int数组长度(sizeof(array) / sizeof(array[0]))问题

 //n个数中选出x

#include<iostream>
using namespace std;

template <class T>

int getArrayLen(T& array)
{
    return (sizeof(array) / sizeof(array[0]));
}

int sort(int A[],int x)
{
    for(int i=0;i<(sizeof(A)/sizeof(A[0]));i++)
    {
        if(A[i]==x)
        {
            return i;
            break;
        }
    }
}

int main()
{   
    int A[10]={0,2,3,8,7,9,5,6,4,1};
    int x=0;
    cout<<"请输入要查找的数:";
    cin>>x;
    int k=sort(A,x);
    cout<<"A["<<k+1<<"]="<<A[k];
    return 0;
}

for循环里面的(sizeof(array) / sizeof(array[0]))求数组长度的一直不对,求解答!

  • 写回答

3条回答 默认 最新

  • Huppert 2016-10-19 13:05
    关注

    在函数中 sizeof(array) == sizeof(void*), 指针的字节数
    sizeof(A[0]) == sizeof(int), 这里的问题出在sizeof(array)上,在函数中正确使用sizeof(array)必须传递引用

    int sort(int A[],int x) 改为 int sort(int (&A)[10],int x)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值