#include // printf #include // 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 for (int 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 dst[size]; // OK in C99 for (int i = 0; i < size; ++i) { dst[i] = src[i]; } return dst; // no -- buggy }