发布网友 发布时间:2022-04-21 22:47
共5个回答
热心网友 时间:2023-11-25 14:09
下表为负的数组在 C 语言里并不是不能做到。
首先,创建一个正常的数组 int A[20];。然后用指针指向其中间的元素 int *A2 = &(A[10]);
这样,A[-10 ... 9] 就是一个可用的有效范围了。
/* 样例示范 */热心网友 时间:2023-11-25 14:09
Type a[19];
Type *A=&a[10];
于是,A成为一个下标为-9~9的Type型数组
这东西纯粹娱乐用,你刚开始学还是离这些东西远一点
热心网友 时间:2023-11-25 14:10
我记得下数组的下标没有负数,最低是a[0],这个系统规定了的
热心网友 时间:2023-11-25 14:10
我想那是一个错误,这是明显的数组越界 学这么长时间c语言,我从来就没数组的下标是从0开始的` 不可能有 -2; 有什么不懂 你可以给我短信`
热心网友 时间:2023-11-25 14:11
C语言不同于PASCAL和BASIC,C的数组下标只能从0开始,
自已再做加减
热心网友 时间:2023-11-25 14:09
下表为负的数组在 C 语言里并不是不能做到。
首先,创建一个正常的数组 int A[20];。然后用指针指向其中间的元素 int *A2 = &(A[10]);
这样,A[-10 ... 9] 就是一个可用的有效范围了。
/* 样例示范 */热心网友 时间:2023-11-25 14:09
Type a[19];
Type *A=&a[10];
于是,A成为一个下标为-9~9的Type型数组
这东西纯粹娱乐用,你刚开始学还是离这些东西远一点
热心网友 时间:2023-11-25 14:10
我记得下数组的下标没有负数,最低是a[0],这个系统规定了的
热心网友 时间:2023-11-25 14:10
我想那是一个错误,这是明显的数组越界 学这么长时间c语言,我从来就没数组的下标是从0开始的` 不可能有 -2; 有什么不懂 你可以给我短信`
热心网友 时间:2023-11-25 14:11
C语言不同于PASCAL和BASIC,C的数组下标只能从0开始,
自已再做加减