Peter wrote:
> seit wann gibt es in C do , while schleifen?
Seit ihrer Spezifikation?
@ Michael Bauch
Wenn ein Programm nicht kompiliert, sieht man sich der Reihe nach die
Fehlermeldungen (und Warnungen auch!) an und versucht, sie zu verstehen.
1 | ../test.c:15: warning: return type defaults to 'int'
|
Hier hast du gleich mal den Rückgabetyp der "main()"-Funktion vergessen.
Die sollte int sein.
1 | ../empty.c:27: error: 'true' undeclared (first use in this function)
|
Es gibt in reinem C keine Booleans, also Wahrheitswerte. Eine
if()-Bedingung z.B. ist dann wahr, wenn sie nicht 0 ist. Also für die
Endlosschleife z.B. while(1) schreiben.
1 | ../empty.c:28: warning: control reaches end of non-void function
|
Damit es C-konform wird, schließt man eine Funktion mit Rückgabewert
(alles außer void) mit einem Return als letzten Befehl ab, z.B. return
0;
Wie oben bereits erwähnt solltest du, wenn du Port D meinst, auch PORTD
schreiben.
Gruß
David
P.S. anscheinend hast du dann einen C++ Compiler verwendet. Der fehlende
Typ der main() wird aber auch vom C++ Compiler bemängelt.