/*-------------------------------------------------------------------*/ /* revfn1.c */ /* Array and functions. */ /*-------------------------------------------------------------------*/ #include #define ARRAYSIZE 5 /*-------------------------------------------------------------------*/ static void getNumbers(int *piNum) /* piNum is a pointer to the first element of an array. Read integers from stdin into that array. */ { int *piAfterLast; printf("Enter %d integers:\n", ARRAYSIZE); piAfterLast = piNum + ARRAYSIZE; while (piNum != piAfterLast) { scanf("%d", piNum); piNum++; } } /*-------------------------------------------------------------------*/ static void putNumbers(int *piNum) /* piNum is a pointer to the first element of an array. Print the elements of that array to stdout in reverse order. */ { int *piAfterLast; printf("The integers in reverse order are:\n"); piAfterLast = piNum + ARRAYSIZE; while (piAfterLast != piNum) { piAfterLast--; printf("%d\n", *piAfterLast); } } /*-------------------------------------------------------------------*/ int main(void) /* Read ARRAYSIZE integers from stdin, and write them in reverse order to stdout. */ { int piNumbers[ARRAYSIZE]; getNumbers(piNumbers); printf("\n"); putNumbers(piNumbers); return 0; }