Diskussion C:Printf

Diskussionen zu Tutorials, Änderungs- und Erweiterungswünsche
Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Diskussion C:Printf

Beitrag von Xin » Mi Jul 09, 2008 10:26 pm

Mein Artikel. ;-)
(http://tutorial.proggen.org/doku.php?id=c:printf)

übernehme ich aus http://gc.xsd.de/pages/ckurs

TODO: ANSI-Sequenzen hinzufügen
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: Diskussion C:Printf

Beitrag von nufan » Mi Jul 09, 2008 10:34 pm

Vielleicht wäre es sinnvoll auch eine Liste der Sonderzeichen für andere Datentypen zu schreiben.
%d, %i int (integer)
%ld long int
%u unsigned int
%x, %X integer in hexadezimaler Schreibweise (hex)
%o integer in oktaler Schreibweise
%f Gleitkommazahl (float)
%lf double
%Lf long double
%e, %E Gleitkommazahl in Exponentialdarstellung
%c einzelnes Zeichen (character)
%s Zeichenkette (string)

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Diskussion C:Printf

Beitrag von Xin » Mi Jul 09, 2008 10:35 pm

Jow, wäre eh reingekommen.
Dachte, die wäre im anderen Kurs schon drin gewesen.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
Dirty Oerti
Beiträge: 2229
Registriert: Di Jul 08, 2008 5:05 pm
Wohnort: Thurndorf / Würzburg

Re: Diskussion C:Printf

Beitrag von Dirty Oerti » Do Jul 10, 2008 3:22 pm

Ja, so eine Liste gehört dringend rein.

Ich hab die Dinger immer vergessen^^
Und musst se mir jedesmal aufs neue ausm Internet raussuchen :)

MfG
Daniel
Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne! :)
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Diskussion C:Printf

Beitrag von Xin » Fr Jul 11, 2008 12:08 am

Dirty Oerti hat geschrieben:Ja, so eine Liste gehört dringend rein.

Ich hab die Dinger immer vergessen^^
Und musst se mir jedesmal aufs neue ausm Internet raussuchen :)
printf kann noch einiges mehr, was in der Liste nicht drin steht... aber nach dem muss ich auch immer googlen... ;-)

nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: Diskussion C:Printf

Beitrag von nufan » Di Aug 26, 2008 10:25 pm

Ich hab mir nochmal printf angesehen und habs leicht erweitert.
Fragen zu folgendem Beispiel:

Code: Alles auswählen

void Addiere(long Zahl1, long Zahl2)
{
  printf("%d plus %d ergibt %d\n", Zahl1, Zahl2, Zahl1+Zahl2);
}
 
void main(void)
{
  Addiere(4, 8);
}
1. Zahl1, Zahl2: sollte man Variablen nicht klein schreiben?
2. Integer (4, 8) werden übergeben und mit %d ausgegeben, aber mit long festgelegt. Müsste es nicht long int heißen und %ld? Oder einfach int bei den Parametern.
3. Wird hier eine eigene Funktion (void Addiere) verwendet. Das Kapitel Unterprogramme folgt jedoch erst später.

Benutzeravatar
Dirty Oerti
Beiträge: 2229
Registriert: Di Jul 08, 2008 5:05 pm
Wohnort: Thurndorf / Würzburg

Re: Diskussion C:Printf

Beitrag von Dirty Oerti » Di Aug 26, 2008 10:37 pm

dani93 hat geschrieben:Müsste es nicht long int heißen
long int ist soweit ich weiß das Gleiche wie long.
Auf meinem Computer ist sogar int das Gleiche wie long....
dani93 hat geschrieben:Das Kapitel Unterprogramme folgt jedoch erst später.
Irgendwie sollten wir das Tutorial besser strukturieren..
Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne! :)
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.

nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: Diskussion C:Printf

Beitrag von nufan » Di Aug 26, 2008 10:42 pm

Irgendwie sollten wir das Tutorial besser strukturieren..
Leicht gesagt, da kommt man oft in eine Zwickmühle. Manchmal kann man nicht sagen, was zuerst kommen soll.

Benutzeravatar
fat-lobyte
Beiträge: 1398
Registriert: Sa Jul 05, 2008 12:23 pm
Wohnort: ::1
Kontaktdaten:

Re: Diskussion C:Printf

Beitrag von fat-lobyte » Mi Aug 27, 2008 12:52 pm

dani93 hat geschrieben:Ich hab mir nochmal printf angesehen und habs leicht erweitert.
Fragen zu folgendem Beispiel:

Code: Alles auswählen

void Addiere(long Zahl1, long Zahl2)
{
  printf("%d plus %d ergibt %d\n", Zahl1, Zahl2, Zahl1+Zahl2);
}
 
void main(void)
{
  Addiere(4, 8);
}
dani93 hat geschrieben:1. Zahl1, Zahl2: sollte man Variablen nicht klein schreiben?
Variablen soll man so schreiben wie man will,so lange sie sind in einem Projekt durchgängig so genannt werden. Das gilt übrigens für alle Konventionen zur Formatierung und Nomenklatur: Lasst euch ja nicht einreden, dass es "die Richtige" formatierung gibt, es gibt nämlich in C++ extrem viele arten.
dani93 hat geschrieben:2. Integer (4, 8) werden übergeben und mit %d ausgegeben, aber mit long festgelegt. Müsste es nicht long int heißen und %ld? Oder einfach int bei den Parametern.
Das ist Richtig. Wenn man ganz korrekt wäre, müsste man es so schreiben, denn ein Long wird nunmal mit einem "%ld" ausgegeben. Praktisch allerdings ist ein Long "meistens" gleich groß wie ein int. Nur Garantie gibt es dafür keine.
Haters gonna hate, potatoes gonna potate.

nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: Diskussion C:Printf

Beitrag von nufan » Mi Aug 27, 2008 1:41 pm

fat-lobyte hat geschrieben:Das ist Richtig. Wenn man ganz korrekt wäre, müsste man es so schreiben, denn ein Long wird nunmal mit einem "%ld" ausgegeben. Praktisch allerdings ist ein Long "meistens" gleich groß wie ein int. Nur Garantie gibt es dafür keine.
Für den Leser (vor allem wenn es ein totaler Anfänger ist) doch etwas verwirrend, oder?

Antworten