Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在c中打印数组的最后一个元素_C_Arrays - Fatal编程技术网

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

如何在c中打印数组的最后一个元素,c,arrays,C,Arrays,我想在C代码中检测整数数组的最后一个元素。 否则,当数组元素为空时,我需要停止处理数组数据。 实际上,我的数组有一个固定的最大大小,它是从外部文件填充的,所以我不知道它何时停止填充数组。最后一个元素已就位 sizeof(array)/sizeof(array[0]) - 1 最后一个元素已就位 sizeof(array)/sizeof(array[0]) - 1 如果不明确知道数组的大小,可以使用sizeof运算符计算: size_t size = sizeof(your_array) /

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

最后一个元素已就位

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

最后一个元素已就位

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

如果不明确知道数组的大小,可以使用
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]);
(大小i=0;i printf(“%d\n”,您的_数组[i]);
如果不明确知道数组的大小,可以使用
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]);
(大小i=0;i printf(“%d\n”,您的_数组[i]);
没有定义为空数组的术语

即使不显式初始化数组,它也将始终保留一些值


您需要在应用程序中定义如何将其命名为空,方法是考虑其(数组元素)值是否为0或其他值

没有定义为空数组的术语

即使不显式初始化数组,它也将始终保留一些值


您需要在应用程序中定义如何将其命名为空,方法是考虑其(数组元素)值是否为0或其他某个值

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

让一个变量
l

其中
l=arr[n-1]

然后
printf(l)


我想很简单…

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

让一个变量
l

其中
l=arr[n-1]

然后
printf(l)



我想很简单…

如果你有一个实际的数组而不是指针,那么数组中的元素数可以通过使用
sizeof数组/sizeof数组[0]
来计算。从中可以得到最后一个索引。另一方面,如果您只有一个指针(如数组被传递给函数),则无法获取其大小。实际上,我的数组有一个固定的最大大小,它是从外部文件填充的,因此我不知道它何时停止填充数组。如果您从文件填充数组,那么您必须有一个索引,它是数组中的下一个要从文件中的值初始化的元素,对吗?处理完文件后,该索引应为数组的“大小”,即已初始化的元素数。为了避免误解,您可能想向我们展示相关的代码。@Lundin问题是该数组没有全部填充,所以我想知道填充的元素数。。这就是我的意思。如果您有一个实际数组而不是指针,那么可以使用
sizeof array/sizeof array[0]
计算数组中的元素数。从中可以得到最后一个索引。另一方面,如果您只有一个指针(如数组被传递给函数),则无法获取其大小。实际上,我的数组有一个固定的最大大小,它是从外部文件填充的,因此我不知道它何时停止填充数组。如果您从文件填充数组,那么您必须有一个索引,它是数组中的下一个要从文件中的值初始化的元素,对吗?处理完文件后,该索引应为数组的“大小”,即已初始化的元素数。为了避免误解,您可能想向我们展示相关的代码。@Lundin问题是该数组没有全部填充,所以我想知道填充的元素数。。这就是我的意思
如果您有一个没有大小的数组
如何可以有一个没有大小的数组?我的意思是“如果您不明确知道它的大小”。我会把这句话改得更准确些。我知道最大尺寸,但不知道这个阿拉伊的元素数。我不明白,你说的最大尺寸是什么意思?这不是数组中元素的数目吗?不,我用:int array[128]初始化了我的数组,它是从一个文件中填充的,所以我不知道填充的元素的数目,这就是我的意思
如果你有一个没有大小的数组
你怎么能有一个没有大小的数组?我的意思是“如果你不明确知道它的大小”。我会把这句话改得更准确些。我知道最大尺寸,但不知道这个阿拉伊的元素数。我不明白,你说的最大尺寸是什么意思?这不是数组中元素的数目吗?不,我用:int array[128]初始化数组,它是从一个文件中填充的,所以我不知道填充的元素的数目,这就是我的意思,我想说数组中的空元素是用固定大小初始化的“没有定义为空数组的术语”或者空数组元素。所以当我声明一个数组时,没有填充它,也没有使用它。。数组中应该是什么?@gerrard2461:“数组中应该是什么?”未确定的内容。阅读此内容可能会引发臭名昭著的未定义行为。在第一次读取变量之前,请始终“初始化”变量。我想说的是使用固定大小初始化的数组中的空元素“没有定义为空数组的术语”或空数组元素。因此,当我声明数组时,没有填充它,也没有使用它。。它应该做什么