| Walt Mankowski on 6 Dec 2003 12:01:02 -0500 |
|
On Sat, Dec 06, 2003 at 11:41:52AM -0500, Jeff Abrahamson wrote:
> What am I doing wrong here?
2 things:
1. Use %lu to get printf to print unsigned longs.
2. You've got UL in both printf statements. I assume you meant to
put UL2 in the second one.
>
> /* int.c */
> #include <stdio.h>
>
> int
> main(int argc,
> char *argv[])
> {
> signed long SL;
> unsigned long UL, UL2;
>
> SL = -1;
> UL = (unsigned long)SL;
> printf("SL=%ld, UL=%ld\n", SL, UL);
printf("SL=%ld, UL=%lu\n", SL, UL);
>
> UL2 = ~0;
> printf("SL=%ld, UL=%ld\n", SL, UL);
printf("SL=%ld, UL=%lu\n", SL, UL2);
>
> return 0;
> }
Attachment:
pgpNHD9y6xoZi.pgp
|
|