Mailinglist Archive: opensuse-programming-de (174 mails)

< Previous Next >
Re: scanf()
  • From: Bernhard Walle <Bernhard.Walle@xxxxxx>
  • Date: Fri, 16 Jan 2004 18:47:12 +0100
  • Message-id: <20040116174712.GE3175@xxxxxxxxxxxxxxx>
* Bernhard Walle <Bernhard.Walle@xxxxxx> [2004-01-16 17:07]:
> * Bodo Kaelberer <BodoKaelberer@xxxxxxxxxx> [2004-01-16 16:33]:
> >
> > P.S: Woher weisst printf eigentlich, ob ich ein char, int oder
> > sonstwas uebergebe? Also woher weiss es, dass es fuer die Darstellung
> > nur auf ein Byte zugreifen muss, wo doch %d auch fuer ints verwendbar
> > ist?
>
> Gar nicht. printf() bekommt keinen Zeiger sondern einen Wert. char wird
> einfach vor der Übergabe auf int erweitert.

ich glaube ganz so einfach ist es doch nicht. Richtig sollte man %hd
(short) oder %hhd (char) angeben.

Was sagen die Experten?


Gruß,
Bernhard

--
_________ http://www.bwalle.de _________________________________________________
Faulheit ist die Angewohnheit, sich auszuruhen, bevor man müde ist.
-- (unbekannt)

< Previous Next >