Dubbio su una funzione in c
Inviato: 12/03/2020, 19:27
Salve, vorrei qualche chiarimento su un esercizio: dovrei praticamente scrivere un programma in c che usi una funzione di nome "scambio" per effettuare,ovviamente, lo scambio semplicemente stampandolo. Scrivendo il codice il programma viene effettivamente compilato, ma quando inserisco i numeri, al posto della seconda variabile, viene stampato un numero gigante che rimane lo stesso per ogni numero che inserisco.
Questo è il codice, è la prima volta che ho cominciato a usare le funzioni:
#include <stdio.h>
int scambio( int x, int y);
int main(void)
{
int a;
int b;
printf("digita due numeri: ");
scanf("%d", &a);
scanf("%d", &b);
printf("valori dopo lo scambio:\n");
printf("a : %d, b : %d\n", scambio(a, b));
}
int scambio( int x, int y)
{
x = x ^ y;
y = y ^ x;
x = x ^ y;
return y, x;
}
Questo è il codice, è la prima volta che ho cominciato a usare le funzioni:
#include <stdio.h>
int scambio( int x, int y);
int main(void)
{
int a;
int b;
printf("digita due numeri: ");
scanf("%d", &a);
scanf("%d", &b);
printf("valori dopo lo scambio:\n");
printf("a : %d, b : %d\n", scambio(a, b));
}
int scambio( int x, int y)
{
x = x ^ y;
y = y ^ x;
x = x ^ y;
return y, x;
}