PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zahlentausch in C



TommeS73
02-07-2002, 12:13
Hi zusammen,

als C-Neueinsteiger scheitere ich an folgendem Problem:



#include <stdio.h>
#define TAUSCHE (x,y) {int j; j=x; x=y; y=j;}

int main()
{
int a,b;
a=2;
b=5;
TAUSCHE(a,b);
printf ("Die getauschten Werte lauten: %d - %d\n",a,b);
return 0;
}


Diesen Code habe ich aus einem Online-Tutorial abgeschrieben und soll eigentlich die Variablen a und b tauschen, aber irgendwie meckert der Compiler (Präprozessor?) ständig etwas von
x undeclared (first use in this function)

gleiches für j und x

Kann mir vielleicht jemand in einem Satz erklären, wo denn da der Denkfehler liegt?

Vielen Dank im voraus.

Kleine Anmerkung: Der Zahlentausch soll über #define verwirklicht werden!

anda_skoa
02-07-2002, 13:09
Das Macro wird durch ein Leerzeichen hinter TAUSCHE unterbrochen.



#define TAUSCHE(x,y)


Nachdem Leerzeichen beginnt die Definitiondes Macros.

Ciao,
_

TommeS73
02-07-2002, 14:00
*auf die Stirn schlag* :rolleyes:

Vielen Dank für die Hilfe.

Demonus
03-07-2002, 07:18
@TommeS73
Du solltest die Vertauschung besser als Funktion implementieren,
weil Makros in C/C++ nicht so "sauber" sind (z.B. keine Typprüfung)
und sie Programmierstyle gehören.