2つの整数の間のスワップを求められます。Cでのスワップの問題[初心者]
#include <stdio.h>
#include <stdlib.h>
void swaplol(int a, int b)
{
int tmp;
tmp = a;
a = b;
b = tmp;
printf("After the swap : a= %d, b=%d\n",a,b);
}
問題がどこにあるかはわかりません。あなたは価値があるときになるように、スワップ機能に整数のアドレスを渡す必要が
void swaplol(int * a, int * b)
{
int tmp;
tmp = *a;
*a = *b;
*b = tmp;
}
int main(void)
{
int a, b;
a = 666;
b = 998;
printf("Before the swap a = %d, b = %d\n", a ,b);
swaplol(&a, &b);
printf("After the swap : a= %d, b=%d\n", a, b);
return 0;
}
パラメータはCで*値*によって渡されます。関数内で任意の値を使用できますが、戻っても変更は登録されません。 –
この問題について多くのご質問があります – Michi