如何在c中打印数组的最后一个元素
我想在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) /
实际上,我的数组有一个固定的最大大小,它是从外部文件填充的,所以我不知道它何时停止填充数组。最后一个元素已就位
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:“数组中应该是什么?”未确定的内容。阅读此内容可能会引发臭名昭著的未定义行为。在第一次读取变量之前,请始终“初始化”变量。我想说的是使用固定大小初始化的数组中的空元素“没有定义为空数组的术语”或空数组元素。因此,当我声明数组时,没有填充它,也没有使用它。。它应该做什么