如何获取C中浮点数组中的项目数?

时间:2014-03-20 19:15:16

标签: c

我正在尝试获取以下数组中的浮点数:

float coins[] = {0.25, 0.10, 0.05};
printf("%i", sizeof(coins));

我得到12

我想获得3

我在这里缺少什么?

3 个答案:

答案 0 :(得分:2)

您可以通过

获取数组中的元素数量
array_size/single_array_element_size

sizeof(coins)/sizeof(float)

答案 1 :(得分:1)

使用表达式sizeof coins / sizeof *coins来获取数组的元素数。

sizeof产生其操作数的字节大小。因此,如果传递数组操作数,您将获得数组的字节数而不是元素数的存储大小。

答案 2 :(得分:0)

int main(void) 
{
   float coins[] = {0.25, 0.10, 0.05};

   int n = sizeof(coins)/sizeof(coins[0]);
   printf("%d", n);
   return 0;
}