C语言中printf的占位符(%) 异常
C语言中, 利用%代表占位符的意思, 如%d代表int范例, %f代表float范例.
需要留意的是, 占位符需要和利用参数匹配, 不然会呈现越界或截断的环境;
如%f, 匹配5, 会导致利用8个字节去匹配4个字节, 会发生越界, 输出0;
%d, 匹配5.01, 会导致利用4个字节去匹配8个字节, 会发生截断, 输出一个大数;
代码:
/*
* test.cpp
*
* Created on: 2014.05.23
* Author: Spike
*/
/*eclipse cdt, gcc 4.8.1*/
#include <stdio.h>
int main()
{
printf("%f\n", 5);
printf("%d\n", 5.01);
}
输出:
0.000000 1889785610
From:csdn博客 Spike_King