• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C言語の問題)

C言語の問題:2つの整数の入れ替え

このQ&Aのポイント
  • C言語の問題:2つの整数を入れ替えるプログラムを作成してください
  • 整数aとbを入力し、aがbより大きい場合には入れ替えて出力します
  • 解答例では、一時変数tempを使用して入れ替えを行っています

質問者が選んだベストアンサー

  • ベストアンサー
  • DT200
  • ベストアンサー率38% (63/164)
回答No.1

次の2点を変更しています。 (1) 数値をコマンドのパラメータとして入力する。 (2) 入れ替えを関数で行う。 ===================================================== #include <stdio.h> void my_swap( int *x, int *y ); int main( int argc, char **argv ) { int a; int b; char *p; /* パラメータの個数をチェックする */ if( argc == 3 ){ /* 第一パラメータを数値変換する */ a = strtol( argv[ 1 ], &p, 10 ); /* 第一パラメータに不正な文字が無いことをチェックする */ if( *p == '\0' ){ /* 第二パラメータを数値変換する */ b = strtol( argv[ 2 ], &p, 10 ); /* 第二パラメータに不正な文字が無いことをチェックする */ if( *p == '\0' ){ /* データを入れ替える */ my_swap( &a, &b ); printf( "a=%d b=%d\n",a, b); return 0; } else{ printf( "第二パラメータが不正です。\n" ); } } else{ printf( "第一パラメータが不正です。\n" ); } } else{ printf( "パラメータに2つの数値を入力してください。\n" ); } return 1; } /* 入れ替えする関数 */ void my_swap( int *x, int *y ) { int temp; if( *x > *y ){ temp = *x; *x = *y; *y = temp; } }

hamasaki--
質問者

お礼

こちらの質問にも答えてきた頂きありがとうございます。 プログラミング初心者なので勉強になりました! ほんとうにありがとうございます!

関連するQ&A

専門家に質問してみよう