上海菁数信息——实时数字智能 2015-08-28 09:18 采纳率: 100%
浏览 1541
已采纳

代码如下 请问我函数里的打印长度为什么为0和main中的长度为10不一样

#include
#include
#include
#include
#define GET_ARRAY_LEN(array) (sizeof(array)/sizeof(array[0]))
int ARRAY_ABS(double array[])
{
printf("\n%d",GET_ARRAY_LEN(array));

return 0;
}
int main()
{
double a[10] ={1,2,3,4,5,6,7,8,9,10};
printf("%d,",GET_ARRAY_LEN(a));
ARRAY_ABS(a);
return;
}

  • 写回答

4条回答 默认 最新

  • 纵横车 2015-08-28 09:26
    关注

    在ARRAY_ABS里array只是一个指针,所以sizeof(array)的值是4。

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

报告相同问题?