在Keil C51中这里的b表示byte,即1个字符,%bd就是输出一个byte宽度的整型数(char)。
- #include <stdio.h>
- void tst_printf (void) {
- char a = 1;
- int b = 12365;
- long c = 0x7FFFFFFF;
- unsigned char x = 'A';
- unsigned int y = 54321;
- unsigned long z = 0x4A6F6E00;
- float f = 10.0;
- float g = 22.95;
- char buf [] = "Test String";//不定长数组
- char *p = buf;
- printf ("char %bd int %d long %ld\n",a,b,c);
- printf ("Uchar %bu Uint %u Ulong %lu\n",x,y,z);
- printf ("xchar %bx xint %x xlong %lx\n",x,y,z);
- printf ("String %s is at address %p\n",buf,p);
- printf ("%f != %g\n", f, g);
- printf ("%*f != %*g\n", (int)8, f, (int)8, g);
- }
|