printf()函数的用法

来源:互联网 发布:python empty 编辑:程序博客网 时间:2024/06/05 03:48

printf()函数的用法

1.printf()函数的调用格式为: printf("<格式化字符串>",<参量表>);

                           // __stdcall                                   
                           int __cdecl printf(const char *p,...);
...  可变参数

printf在打印浮点数,不论原来是双精度还是单精度,都变为双精度(8字节)
                打印1字节(char)2字节(short)4字节(int)==>4字节
 ,除了long long (8字节)

void main()
{
int a=10;
folat ft=12.25f;
printf("%d %d\n",a,ft);
}

%d     格式控制符--不具有强转能力


A 格式化字符串包括两部分内容

一部分是正常字符这些字符将按原样输出;

另一部分是格式化规定字符, 以"%"开始, 后跟一个或几个规定字符, 用来确定输出内容格式。

1. d/i   有符号十进制形式输出(正数不输出符号)

2.  u         无符号十进制形式输出

3.  o        无符号八进制形式输出(不输出前缀0)

4.  x         无符号十六进制形式输出(不输出前缀Ox),并以小写abcdef表示。

5.  X        无符号十六进制形式输出(不输出前缀Ox),并以大写ABCDEF表示。

6.  c         输出单个字符

7.  s         输出字符串

8.  f         以小数形式输出单、双精度实数

9.  E/e     用科学计数法表示浮点数

10.G/g     以%f或%e中较短的输出宽度输出单、双精度实数

+++++++++

void main()
{
long long x=0x12345678901357;
printf("%x \n",x);//=>78 90 13 57
printf("%lx \n",x);//=>78 90 13 57
printf("%llx \n",x);//=>12345678901357

B 参量表

需要输出的一系列参数, 其个数必须与格式化字符串所说明的输出参数个数一样多, 各参数之间用","分开, 且顺序一一对应


例题:

void main()
{
char a=128;
printf("%d \n",a);//=>-128
printf("%x \n",a);//=>ffff ff80
}

  当printf调用,a给可变参数,自然而然扩展为4字节,a是有符号数,扩展的时候加符号位

  1111 1111 1111 1111 1111 1000 0000=>ffff ff80

unsigned char a=128;
printf("%x \n",a);==>80