Diskussion C:Printf

Diskussionen zu Tutorials, Änderungs- und Erweiterungswünsche
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 1:44 pm

Man soll nur nicht davon ausgehen dass "long" gleich groß ist wie "int".
Wenn "long" nicht gleich groß wie "int" ist, dann braucht printf() auch verschiedene Argumente: %ld und %d.
Jetzt verständlich?
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:45 pm

fat-lobyte hat geschrieben:Man soll nur nicht davon ausgehen dass "long" gleich groß ist wie "int".
Wenn "long" nicht gleich groß wie "int" ist, dann braucht printf() auch verschiedene Argumente: %ld und %d.
Jetzt verständlich?
Für mich schon :)

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 » Mi Aug 27, 2008 3:50 pm

dani93 hat geschrieben:
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?
Nicht, wenn man es als eine Art Einschub mit der Überschrift "Weitere Informationen" o.ä. reinstellt.
Vllcht mit einem Link auf eine eigene Seite...
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: 8861
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Diskussion C:Printf

Beitrag von Xin » Do Okt 09, 2008 8:35 pm

Sonderzeichen eingefügt, fflush() eingefügt und ein paar sonstige Sätze samt Fehlern eingefügt... ;-)
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.

Metamorph
Beiträge: 123
Registriert: Sa Jul 05, 2008 12:27 pm

Re: Diskussion C:Printf

Beitrag von Metamorph » Do Okt 09, 2008 9:15 pm

Dieses Thema kommt vor den Funktionen. Es werden aber Beispiele mit Funktionen in diesem Kapitel gezeigt.
Genauso ist es mit String. Es wird erwähnt, obwohl Arrays etwas später kommen.
Außerdem finde ich, dass dieses Thema zu spät erwähnt wird. Ich finde, es sollte weiter am Anfang, spätestens nach dem Thema Variablen stehen.

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 Okt 09, 2008 9:20 pm

Das kommt vor Funktionen??
Das sollten wir ändern.
Genauso ist es mit String. Es wird erwähnt, obwohl Arrays etwas später kommen.
printf nimmt doch keine strings (als Datentyp)..?
Man kann ja erwähnen, dass Strings Abfolgen von Zeichen (Zeichenketten) sind.

Oder wie meinst du das?

Direkt nach Variablen muss es eigntl nicht kommen.
Nur sollte es früh genug kommen, damit der Lernende auch Erfolge SEHEN kann.
Ohne printf kann er ja nichts ausgeben.
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: 8861
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Diskussion C:Printf

Beitrag von Xin » Do Okt 09, 2008 9:46 pm

Dirty Oerti hat geschrieben:Das kommt vor Funktionen??
Das sollten wir ändern.
Benutzung von vorhandenen Funktionen vor Definition eigener... finde ich erstmal ok.
Dirty Oerti hat geschrieben:
Genauso ist es mit String. Es wird erwähnt, obwohl Arrays etwas später kommen.
printf nimmt doch keine strings (als Datentyp)..?
Man kann ja erwähnen, dass Strings Abfolgen von Zeichen (Zeichenketten) sind.

Oder wie meinst du das?
Ich weiß momentan nicht, wo das Problem liegt?
Dirty Oerti hat geschrieben:Direkt nach Variablen muss es eigntl nicht kommen.
Nur sollte es früh genug kommen, damit der Lernende auch Erfolge SEHEN kann.
Ohne printf kann er ja nichts ausgeben.
Er hat printf() ja schon in Hello World gesehen... in c:printf wird es nur ausführlich beschrieben.
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.

Metamorph
Beiträge: 123
Registriert: Sa Jul 05, 2008 12:27 pm

Re: Diskussion C:Printf

Beitrag von Metamorph » Fr Okt 10, 2008 12:57 am

Xin hat geschrieben:Benutzung von vorhandenen Funktionen vor Definition eigener... finde ich erstmal ok.
Was soll das bringen?
Einen Anfänger dürfte das erstmal heftig verwirren.
Dirty Oerty hat geschrieben:printf nimmt doch keine strings (als Datentyp)..?
Oh, ich meinte char * über %s.
Dirty Oerty hat geschrieben:Man kann ja erwähnen, dass Strings Abfolgen von Zeichen (Zeichenketten) sind.
Naja, das finde ich nicht vorteilhaft. Was hat aber ein Anfänger davon?
Er weiss weder was Arrays, noch Zeiger sind und kann so nichts mit %s anfangen. Also kann er es nicht in die Praxis umsetzen, was einerseits dafür sorgt, dass es vergessen wird und andererseits für Verwirrung sorgt.

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

Re: Diskussion C:Printf

Beitrag von Xin » Fr Okt 10, 2008 8:14 am

Metamorph hat geschrieben:
Xin hat geschrieben:Benutzung von vorhandenen Funktionen vor Definition eigener... finde ich erstmal ok.
Was soll das bringen?
Einen Anfänger dürfte das erstmal heftig verwirren.
Hast Du erst gelernt, eigene Funktionen zu schreiben, bevor Du printf() benutzt hast?
Metamorph hat geschrieben:Naja, das finde ich nicht vorteilhaft. Was hat aber ein Anfänger davon?
Er weiss weder was Arrays, noch Zeiger sind und kann so nichts mit %s anfangen. Also kann er es nicht in die Praxis umsetzen, was einerseits dafür sorgt, dass es vergessen wird und andererseits für Verwirrung sorgt.
Das Wort Zeiger habe ich bei meinen Tutorien erst in den Mund genommen, nachdem die Leute Strings in und auswendig kannten. Ich sagte Ihnen einfach char ist ein Buchstabe und char * sind beliebig viele Buchstaben. An dem Tag, als das Kapitel mit den Zeigern kam, habe ich die Leute gefragt, was sie davon halten, manche hatten Angst, dass sie nicht in der Lage seien, ein so kompliziertes Thema nicht zu begreifen und dass sie jetzt nicht mehr weiterkommen könnten. Die Angst verschwand meist schnell, wenn ich sie aufklärte, dass sie die ganze Zeit mit Zeigern arbeiten.
Zeiger ist für viele ein Angst-Thema, schließlich werden Zeiger als das Übel schlechthin dargestelllt, seit es Java gibt.
Das plappern viele "Experten" nach und viele, die sich mit Programmierung beschäftigen wollen, finden dann diese unsinnigen Aussagen.

Für den Anfänger reicht es zunächst, wenn er es benutzt, wenn er weiß, wie er es benutzt, aber er muss nochnicht wissen, warum er es so benutzt, wie er es benutzt.
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 » Fr Okt 10, 2008 2:06 pm

Xin hat geschrieben:Hast Du erst gelernt, eigene Funktionen zu schreiben, bevor Du printf() benutzt hast?
Finde auch, dass printf vor den Funktionen kommen sollte.
Am Beginn ist es sicher motivierender mit printf herumzuspielen als zig Seiten Theorie zu lesen...
Da muss auch vorerst mal ein "ist einfach so, Details kommen später" reichen ;)

Antworten