Gast
#3129507
Hey,
ich habe in einem Programm(C) mit #define eine Konstante definiert, nun
möchte ich diese mit printf("%?", konstante) aufrufen. Wie ist das
möglich?
Mit freundlichen Grüßen,
C-Anfänger
|
Anzeige
|
Die Funktion printf
Gast
#3129507
Hey,
ich habe in einem Programm(C) mit #define eine Konstante definiert, nun
möchte ich diese mit printf("%?", konstante) aufrufen. Wie ist das
möglich?
Mit freundlichen Grüßen,
C-Anfänger
Gast
#3129508
Wenn du die Möglichkeit hast, einen Typen für die Konstante anzugeben, würde ich immer "const x y = z;" bevorzugen, mit Präprozessormakros macht das einfach keinen Spaß.
Gast
#3129509
C-Anfänger schrieb: > Wie ist das > möglich? Das hängt von der Konstante ab. %d, %f oder auch %s oder oder doer...
Gast
#3129513
Die konstante ist ein Wort, z.b Haus
Gast
#3129519
Timmo H. schrieb: > #define BLUBB "Haus" > > #include <stdio.h> > > int main(){ > > printf("%s",BLUBB); > > } Ahhh, vielen Dank! Aber wieso genau steht haus in Anführungszeichen? Weil es ein String/eine Zeichenkette ist. Eine Zeichenkette wird in Anführungszeichen geschrieben und erhält damit automatisch die "\0" Terminierung. Diese wiederum ist notwendig, damit printf auch weiß wo der String aufhört. Du solltest dir die C-Grundlagen mal zu Gemüte führen. "#define" ist praktisch nur eine Text-Ersetzung durch den Precompiler. Am Ende steht dort genau das Gleiche wie
nocheinGast schrieb: > Wenn du die Möglichkeit hast, einen Typen für die Konstante anzugeben, > würde ich immer "const x y = z;" bevorzugen, mit Präprozessormakros > macht das einfach keinen Spaß. In c gibt es keine echten Konstanten, deshalb nimmt man da ja immer Makros dafür. Oder vielleicht auch so:
Das STR-Makro macht aus seinem Argument einen String, der mit dem %s-Format von printf ausgeben werden kann. Ausgabe:
Rolf Magnus schrieb: > In c gibt es keine echten Konstanten Bitte was? Es gibt ja auch noch enum. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|