fix(codes/c): Fix unknown behavior when size is 0 or arr is a null pointer (#288)

Co-authored-by: Yudong Jin <krahets@163.com>
This commit is contained in:
Zero 2023-01-21 01:16:22 +08:00 committed by GitHub
parent 31eefe028a
commit 0b5761eaf5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -27,17 +27,21 @@ extern "C" {
*/ */
static void printArray(int arr[], int size) { static void printArray(int arr[], int size) {
printf("["); printf("[");
for (int i = 0; i < size - 1; i++) { if (arr != NULL && size != 0) {
if (arr[i] != NIL) { for (int i = 0; i < size - 1; i++) {
printf("%d, ", arr[i]); if (arr[i] != NIL) {
} else { printf("%d, ", arr[i]);
printf("NULL, "); } else {
} printf("NULL, ");
} }
if (arr[size - 1] != NIL) { }
printf("%d]\n", arr[size - 1]); if (arr[size - 1] != NIL) {
printf("%d]\n", arr[size - 1]);
} else {
printf("NULL]\n");
}
} else { } else {
printf("NULL]\n"); printf("]");
} }
} }