comp.lang.c
[Top] [All Lists]

Re: printf and cout

Subject: Re: printf and cout
From: jacob navia
Date: Fri, 28 Mar 2008 16:36:19 +0100
Newsgroups: comp.lang.c


Keith Thompson wrote:
jacob navia <jacob@xxxxxxxxxx> writes:
pete wrote:
santosh wrote:
The %c format expects
(and thus treats the corresponding argument as) an unsigned char.
No standard library functions are described
as taking an argument lower ranking than int.

Yes, but the character is promoted to int only for passing it
to printf. The expected argument is a char, not an int

Are you saying there's something wrong, or even unexpected, with this?

#include <stdio.h>
int main(void)
{
    int c = '\n';
    printf("%c", c);
    return 0;
}

The expected argument normally has a value that's representable as an
unsigned char, but its expected type is int.


The expected argument of the printf formatting option!

That's what I am talking about. Obviously your example
will work.

printf("%c",12345678);

will not!


--
jacob navia
jacob at jacob point remcomp point fr
logiciels/informatique
http://www.cs.virginia.edu/~lcc-win32

<Prev in Thread] Current Thread [Next in Thread>
Privacy Policy