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)
> * 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 > |