/*
* Copyright ©2026 Soham Pardeshi. All rights reserved.
* Permission is hereby granted to students registered for University of
* Washington CSE 333 for use solely during Summer Quarter 2026 for
* purposes of the course. No other use, copying, distribution, or
* modification is permitted without prior written consent. Copyrights
* for third-party components of this work must be honored. Instructors
* interested in reusing these course materials should contact the author.
*/
#include <stdio.h> // printf
#include <stdlib.h> // EXIT_SUCCESS
// attempt to copy src into a local dst array and return it (buggy!)
int* CopyArray(int src[], int size);
int main(int argc, char** argv) {
int numbers[5] = {9, 8, 1, 9, 5};
int* num_copy = CopyArray(numbers, 5); // no -- buggy
int i;
for (i = 0; i < 5; i++) {
printf("numbers [%d]: %d; num_copy[%d]: %d\n",
i, numbers[i], i, num_copy[i]);
}
return EXIT_SUCCESS;
}
int* CopyArray(int src[], int size) {
int i, dst[size]; // OK in C99
for (i = 0; i < size; i++) {
dst[i] = src[i];
}
return dst; // no -- buggy
}