006
16.08.2006, 16:39 Uhr
0xdeadbeef
Gott (Operator)
|
Das format flag für long ist %ld, nicht %d, und die Signatur von main ist ziemlich verkorkst, aber ansonsten sollte das funktionieren. Wahrscheinlich kaufen es einem archaische Compiler sogar so noch ab.
Naja, kurz korrigiert:
C++: |
#include <stdio.h>
#define StudentenProKlasse 10
int main(void){ long studentenG = 0; long klasse;
printf ("Anzahl der Klassen: "); scanf ("%ld", &klasse);
studentenG = klasse * StudentenProKlasse;
printf ("\nStudenten: %ld\n", studentenG);
return 0; }
|
Zur Erklärung, &klasse ist die Speicheradresse, an der klasse im RAM steht. Was scanf hier im Grunde gesagt wird ist, "Lies mir ne Variable vom Typ long ein und schreib sie nach &klasse", so dass klasse nachher den eingelesenen Wert beinhaltet. Bei der Ausgabe ist das nicht mehr nötig, da reicht es auch einfach, den Wert zu übergeben - und genau das wird da auch gemacht. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra Dieser Post wurde am 16.08.2006 um 20:45 Uhr von 0xdeadbeef editiert. |