#1
by Makoto » 7年前
2つの整数の記憶場所を交換するにはどのようにすればよいのでしょうか?下は問題文です。
intへのポインタ引数xとyをもつswap関数を定義し,2つの整数の記憶場所を交換するプログラムを作成しなさい.
void swap(int *x, int *y);
/* ポインタ引数x, yが指す変数の値を入れ替える */
main関数では,scanf関数を使って2つの整数を入力し,swap関数を呼んでから2つの整数値を出力する.
swap関数にはprintf, scanfを書いてはいけない.main関数にはif文を書いてはいけない.大域変数を使ってはいけない.
実行例
整数を2つ入力
7 -1
swap前:7 -1
swap後:-1 7
int main(void)
{
int a, b;
printf("整数を2つ入力¥n");
scanf("%d %d", &a, &b);
printf("swap前:%d %d¥n", a, b);
swap( … );
printf("swap後:%d %d¥n", a, b);
return 0;
}
コード:
#include <stdio.h>
void swap(int *x, int *y);
int main(void)
{
int a, b;
printf("整数を2つ入力\n");
scanf("%d %d", &a, &b);
printf("swap前:%d %d\n" a, b);
swap();
printf("swap後:%d %d\n" a, b);
return 0;
}
void swap(int *x, int *y)
{
*y = ;
*x = ;
return a, b;
}
2つの整数の記憶場所を交換するにはどのようにすればよいのでしょうか?下は問題文です。
intへのポインタ引数xとyをもつswap関数を定義し,2つの整数の記憶場所を交換するプログラムを作成しなさい.
void swap(int *x, int *y);
/* ポインタ引数x, yが指す変数の値を入れ替える */
main関数では,scanf関数を使って2つの整数を入力し,swap関数を呼んでから2つの整数値を出力する.
swap関数にはprintf, scanfを書いてはいけない.main関数にはif文を書いてはいけない.大域変数を使ってはいけない.
実行例
整数を2つ入力
7 -1
swap前:7 -1
swap後:-1 7
int main(void)
{
int a, b;
printf("整数を2つ入力¥n");
scanf("%d %d", &a, &b);
printf("swap前:%d %d¥n", a, b);
swap( … );
printf("swap後:%d %d¥n", a, b);
return 0;
}
[code=C]
#include <stdio.h>
void swap(int *x, int *y);
int main(void)
{
int a, b;
printf("整数を2つ入力\n");
scanf("%d %d", &a, &b);
printf("swap前:%d %d\n" a, b);
swap();
printf("swap後:%d %d\n" a, b);
return 0;
}
void swap(int *x, int *y)
{
*y = ;
*x = ;
return a, b;
}
[/code]