Kurze Frage zu Typdeklaration

altmetaller
Goto Top
Hallo,

hier in kurzes Beispiel aus einem Tutorial. Es geht darum, eine LED am GPIO-Port eines RaspberryPi blinken zu lassen:


Mein Compiler quittiert die Übersetzung mit dieser Fehlermeldung:

blink.c:13:25: error: expected expression before ‘%’ token
printf("Using pin%d\n",%ledPin); //Output information on terminal

In Zeile 13 wird ja mit dem % der Datentyp forciert. Wenn ich darauf verzichte, funktioniert alles:


Ich habe bis jetzt einen sehr guten Eindruck von meinem Tutorial und wundere mich ein bisschen über die "Inkompatiblität", zumal ich das Szenario 1:1 nachgebaut habe. Auch verstehe ich nicht ganz, mit welcher Motivation die Ersteller von dem Tutorial das % vor ledPin gesetzt haben. Das Ausgabeformat wird ja letztendlich im Formatstring festgelegt und die Parameter für printf haben da doch auch keine weiteren Anforderungen (oder?).

Da ich bis jetzt noch nicht viel mit c gemacht habe, ist das für mich ein großes Rätsel. Für den Lerneffekt wäre mir sehr wichtig zu wissen, was es mit dieser kleinen "Inkompatiblität" auf sich hat.

Gibt es da Differenzen bezüglich unterschiedlicher Compiler? Oder haben die bei der Übersetzung Compilerflags genutzt, die das Ganze etwas lascher handhaben?

Gruß,
Jörg

Content-Key: 649612

Url: https://administrator.de/contentid/649612

Ausgedruckt am: 07.07.2022 um 09:07 Uhr

Mitglied: 147323
Lösung 147323 08.02.2021 aktualisiert um 16:37:33 Uhr
Goto Top
Das wird ein Tippfehler gewesen sein, das Prozentzeichen(%) ist nur als Formatspezifizierer im Format-String gültig direkt vor der eigentlichen Variablen hat das da nichts zu suchen.

Gruß j.
Mitglied: altmetaller
altmetaller 08.02.2021 um 18:48:56 Uhr
Goto Top
Hallo,

vielen lieben Dank - dann ist das Tutorial ja doch kompatibel zu meinem Compiler face-smile

Gruß,
Jörg