当使用sizeof( array )/sizeof(array[0])作为for循环的条件时,这个表达式的作用是计算数组的长度。sizeof( array )返回整个数组的字节大小,sizeof(array[0])返回数组中每个元素的字节大小。通过将整个数组的字节大小除以每个元素的字节大小,可以得到数组的长度。
然而,在第二个循环中使用数组时,由于数组已经被用于计算循环条件,数组的长度已经被确定,因此无法再使用数组。在第二个循环中,如果需要访问数组的元素,可以使用索引来访问,例如array[i],其中i是一个合法的索引值。
需要注意的是,sizeof( array )/sizeof(array[0])只适用于静态数组,对于动态分配的数组或指针指向的数组,这个表达式将无法正确计算数组的长度。在这种情况下,应该使用其他方法来获取数组的长度,例如通过记录数组的长度变量或使用标记值来表示数组的结束。
领取专属 10元无门槛券
手把手带您无忧上云