如何在c中打印数组的最后一个元素

时间:2017-05-23 09:05:52

标签: c arrays

我想在C代码中检测整数数组的最后一个元素。 否则我需要在数组元素为空时停止处理数组数据。 我的数组的最大大小是固定的,它是从外部文件填充的,所以我不知道它何时停止填充数组。

4 个答案:

答案 0 :(得分:5)

没有定义的术语为空数组

即使你没有明确地初始化它,你的数组也会保留一些值

您需要在应用程序中定义如何将其称为空,可以通过考虑其(数组元素)值是0还是其他值

答案 1 :(得分:3)

最后一个元素位于

sizeof(array)/sizeof(array[0]) - 1

答案 2 :(得分:3)

如果您没有明确知道数组的大小,可以使用sizeof运算符进行计算:

size_t size = sizeof(your_array) / sizeof(your_array[0]);

这会计算数组的总大小(以字节为单位)并将其除以一个元素的大小(在您的情况下也可以使用sizeof(int),但如果更改数组的类型,则可能会中断)

然后,您可以简单地遍历数组的元素,如下所示:

for(size_t i = 0; i < size; ++i)
    printf("%d\n", your_array[i]);

答案 3 :(得分:0)

为什么不使用简单的n-1方法!

只需让变量l

其中l = arr[n - 1];

然后printf(l) ...

我猜很简单...