Seite 2 von 3

Re: Diskussion C:Printf

Verfasst: Mi Aug 27, 2008 1:44 pm
von fat-lobyte
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?

Re: Diskussion C:Printf

Verfasst: Mi Aug 27, 2008 1:45 pm
von nufan
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 :)

Re: Diskussion C:Printf

Verfasst: Mi Aug 27, 2008 3:50 pm
von Dirty Oerti
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...

Re: Diskussion C:Printf

Verfasst: Do Okt 09, 2008 8:35 pm
von Xin
Sonderzeichen eingefügt, fflush() eingefügt und ein paar sonstige Sätze samt Fehlern eingefügt... ;-)

Re: Diskussion C:Printf

Verfasst: Do Okt 09, 2008 9:15 pm
von Metamorph
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.

Re: Diskussion C:Printf

Verfasst: Do Okt 09, 2008 9:20 pm
von Dirty Oerti
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.

Re: Diskussion C:Printf

Verfasst: Do Okt 09, 2008 9:46 pm
von Xin
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.

Re: Diskussion C:Printf

Verfasst: Fr Okt 10, 2008 12:57 am
von Metamorph
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.

Re: Diskussion C:Printf

Verfasst: Fr Okt 10, 2008 8:14 am
von Xin
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.

Re: Diskussion C:Printf

Verfasst: Fr Okt 10, 2008 2:06 pm
von nufan
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 ;)