您的位置:首页 > 其它

printf()函数的用法

2017-09-24 14:14 141 查看

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: