C言語のきほん「ポインタの基本(5)二つの整数値を交換する」

スポンサーリンク
C言語

今回は、「二つの整数値を交換するプログラム」をご紹介しよう。

なお、本プログラムは、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クリエイティブ

コメント

タイトルとURLをコピーしました