- ベストアンサー
C言語の問題:2つの整数の入れ替え
- C言語の問題:2つの整数を入れ替えるプログラムを作成してください
- 整数aとbを入力し、aがbより大きい場合には入れ替えて出力します
- 解答例では、一時変数tempを使用して入れ替えを行っています
- みんなの回答 (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; } }
お礼
こちらの質問にも答えてきた頂きありがとうございます。 プログラミング初心者なので勉強になりました! ほんとうにありがとうございます!