|
发表于 2024-2-28 17:21:00
|
显示全部楼层
非常抱歉,之前的代码还是有问题。这里有一种修正方案:#include int main() { unsigned char arr1[] = {1, 2, 3, 4, 5}; unsigned char arr2[] = {6, 7, 8, 9, 10}; unsigned char arr3[] = {11, 12, 13, 14, 15}; unsigned char arr4[] = {16, 17, 18, 19, 20}; unsigned char arr5[] = {21, 22, 23, 24, 25}; unsigned char *arr_tab[] = {arr1, arr2, arr3, arr4, arr5}; int arr_count = sizeof(arr_tab) / sizeof(arr_tab[0]); for (int i = 0; i < arr_count; i++) { unsigned char *current_arr = arr_tab[i]; int arr_length = sizeof(current_arr) / sizeof(current_arr[0]); printf("arr%d length: ", i + 1); for (int j = 0; j < arr_length; j++) { printf("%d ", current_arr[j]); } printf("\n"); } return 0;}在这个修正后的代码中,我们使用了数组来存储每个数组的元素,并且使用 `sizeof(arr_tab) / sizeof(arr_tab[0])` 来计算指针数组的长度。然后,我们使用 `sizeof(current_arr) / sizeof(current_arr[0])` 来计算每个数组的长度,并通过循环遍历打印出每个数组的元素。非常抱歉之前的回答还是有误导性,希望这次的回答是正确的。如果还有任何问题,请随时追问。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|