関数の訂正
Posted: 2010年6月20日(日) 08:58
#include <stdio.h>
void swap (int x, int y)
{
int temp;
temp = x;
x = y;
y = temp;
}
int main (void)
{
int a = 1, b = 2;
swap(a, b);
printf("a = %d, b = %d\n", a, b); /* expected output: a = 2, b = 1 */
}
このままのプログラムだと出力がa=1、b=2になり、求められている数値と違います。
ヒントでvoid swap(int *a, int *b)というのが与えられましたが、xとyを全部*a、*bに
置き換えたりしてもうまくいきませんでした。
void swap (int x, int y)
{
int temp;
temp = x;
x = y;
y = temp;
}
int main (void)
{
int a = 1, b = 2;
swap(a, b);
printf("a = %d, b = %d\n", a, b); /* expected output: a = 2, b = 1 */
}
このままのプログラムだと出力がa=1、b=2になり、求められている数値と違います。
ヒントでvoid swap(int *a, int *b)というのが与えられましたが、xとyを全部*a、*bに
置き換えたりしてもうまくいきませんでした。