C言語の解説の演習の解答(第9回)


演習の解答


解答は2つ有ります.グローバル変数を用いた解答は次のようになります.


#include <stdio.h>

int x,y,wa,sa,seki,kekka;

main()
{

  int tashizan();
  int hikizan();
  int kakezan();

  printf("x=");
  scanf("%d",&x);
  printf("y=");
  scanf("%d",&y);

  tashizan();
  wa = kekka;
  hikizan();
  sa = kekka;
  kakezan();
  seki = kekka;

  printf("x+y=%d¥n",wa);
  printf("x-y=%d¥n",sa);
  printf("x*y=%d¥n",seki);

}

int tashizan() {

  kekka = x+y;
  return kekka;
}

int hikizan() {

  kekka = x-y;
  return kekka;
}

int kakezan() {

  kekka = x*y;
  return kekka;
}

ポインタを使った解答は次のようになります.

#include <stdio.h>

main()
{

  int x,y,wa,sa,seki,kekka;
  int tashizan(int x, int y, int *kekka);
  int hikizan(int x, int y, int *kekka);
  int kakezan(int x, int y, int *kekka);

  printf("x=");
  scanf("%d",&x);
  printf("y=");
  scanf("%d",&y);

  tashizan(x,y,&kekka);
  wa = kekka;
  hikizan(x,y,&kekka);
  sa = kekka;
  kakezan(x,y,&kekka);
  seki = kekka;

  printf("x+y=%d¥n",wa);
  printf("x-y=%d¥n",sa);
  printf("x*y=%d¥n",seki);

}

int tashizan(int x, int y, int *kekka) {

  *kekka = x+y;
  return *kekka;
}

int hikizan(int x, int y, int *kekka) {

  *kekka = x-y;
  return *kekka;
}

int kakezan(int x, int y, int *kekka) {

  *kekka = x*y;
  return *kekka;
}

プログラムの解説については、「C言語の解説と演習(第十回)」を見てください.


C言語の解説と演習
(第9回)へ行く
   
C言語の解説と演習
(第10回)へ行く

このページに関する質問は kitamoto@edu.yamaguchi-u.ac.jp