Adjust memory management for problem 40

This commit is contained in:
Kevin Keogh
2019-02-11 01:11:50 -05:00
parent 6b1a4ebbd1
commit 4bac09369d

View File

@@ -9,6 +9,10 @@
int split_digits(int* digits, int num) int split_digits(int* digits, int num)
{ {
int len = 0; int len = 0;
free(digits);
digits = malloc(1 * sizeof(int));
while (num > 0) { while (num > 0) {
len++; len++;
@@ -33,7 +37,7 @@ int main(int argc, char** argv)
int digit = 0, i = 0; int digit = 0, i = 0;
int prod = 1, num = 1; int prod = 1, num = 1;
digits = malloc(0 * sizeof(int)); digits = malloc(1 * sizeof(int));
if (digits == NULL) { if (digits == NULL) {
printf("A memory error occurred.\n"); printf("A memory error occurred.\n");
exit(1); exit(1);
@@ -53,8 +57,6 @@ int main(int argc, char** argv)
/* refill digits and reset i */ /* refill digits and reset i */
num++; num++;
i = 0; i = 0;
memset(digits, 0, len * sizeof(int));
len = split_digits(digits, num); len = split_digits(digits, num);
} }
} }