【課題4−2】

 

(プログラム例)

#include <stdio.h>

#define ARRAY_SIZE 10

int main(void) {

         float data[ARRAY_SIZE]=

                 {0.1, 1.2, 2.3, 3.4, 4.5, 5.6, 6.7, 7.8, 8.9, 9.0};

         float *fp1, *fp2;      /* float型のポインタfp1fp2を宣言 */

         int i;

         float temp;

 

         fp1 = data;              /* ポインタfp1を配列dataの先頭要素に */

         fp2 = fp1+ARRAY_SIZE-1; /* ポインタfp2を配列dataの最後の要素に */

         for (i = 0; i < ARRAY_SIZE/2; i++) {

                 temp = *fp1;

                 *fp1 = *fp2;

                 *fp2 = temp;

                 fp1++; fp2--; /* fp1を一つ先に、fp2を一つ前に */

         }

 

         fp1=data;       /* fp1を再びdataの先頭に */

         for (i = 0; i < ARRAY_SIZE; i++) {

                 printf("%3.1f\n", *fp1);

                 fp1++;

         }

 

         return 0;

}