今回は、「二つの整数値を交換するプログラム」をご紹介しよう。
なお、本プログラムは、Windows 11 Home(23H2)上で、 Visual Studio Code(1.89.1)を使用して作成し、gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0でコンパイルしている。
二つの整数値を交換するプログラム
//二つの整数値を交換するプログラム
#include <stdio.h>
//2値(x,y)を交換する関数
void swap(int *x, int *y)
{
int temp = *x;
*x = *y;
*y = temp;
}
int main(void)
{
int a,b;
puts("二つの整数を入力してください。");
printf("整数a:"); scanf("%d",&a);
printf("整数b:"); scanf("%d",&b);
swap(&a,&b);
puts("二つの整数を交換しました。");
printf("整数aは%dです。\n",a);
printf("整数aは%dです。\n",b);
return 0;
}
実行結果
二つの整数を入力してください。
整数a:60
整数b:20
二つの整数を交換しました。
整数aは20です。
整数aは60です。
関数本体で行っているのは、*xの値と*yの値の交換である。これは、実質的にmain関数のaとbの値の交換である。
(参考) 新・明解C言語 入門編 第2版 柴田 望洋 (著)SBクリエイティブ
コメント