#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 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 }