Biunelor 2021-11-15 10:47 采纳率: 100%
浏览 30
已结题

关于用sizeof求数组长度的问题

#include<iostream>
using namespace std;

void sort(int arr[])
{
    cout << sizeof(arr) / sizeof(arr[0]) << endl;
}

int main()
{
    int a[] = { 3, 5, 4, 2, 8, 7, 9 };
    sort(a);
    cout << sizeof(a) / sizeof(a[0]) << endl;

    system("pause");
    return 0;
}

上述代码输入:7 1
请问为什么在main函数中可以通过sizeof方式正确的得到数组的长度,而在sort函数中却不能正确的得到数组的长度?

  • 写回答

1条回答 默认 最新

  • CSDN专家-link 2021-11-15 10:50
    关注

    sort中参数只会认为是一个int *而已 。你需要参数增加数组长度才行

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月23日
  • 已采纳回答 11月15日
  • 创建了问题 11月15日