Hallo,
ich habe folgende Aufgabe :
SWAP Funktion soll nicht nur int Werte sondern auch long int, float und double Werte vertauschen.
Habe folgendes Programm geschrieben :
Jetzt bin ich an der suche nach Fehlern. Kann mir irgendeiner Helfen?
#include
#define INT 1;
#define LONG INT 2;
#define FLOAT 3;
#define DOUBLE 4;
void swap(int typ ,void(*x), void(*y));
int main(void )
{
int a=5;
int b=1;
printf(„a ist %c\t b ist %c\t\n“, a,b);
swap(INT, &a, &b);
printf(„a ist %c\t b ist %c\t\n“, a,b);
return 0;
}
void swap(int typ, void *x, void *y)
{
switch (typ)
{
case INT: {
int intern;
intern = *(int*)x;
*(int*)x = *(int*)y;
*(int*)y = intern;
}
break;
case LONG INT: {
long int intern;
intern = *(long int*)x;
*(long int*)x = *(long int*)y;
*(long int*)y = intern;
}
break;
case FLOAT: {
float intern;
intern = *(float*)x;
*(float*)x = *(float*)y;
*(float*)y = intern;
}
break;
case DOUBLE: {
double intern;
intern = *(double*)x;
*(double*)x = *(double*)y;
*(double*)y = intern;
}
break;
}
}