Welcome

首页 / 软件开发 / C语言 / C语言中printf的占位符(%) 异常

C语言中printf的占位符(%) 异常2015-01-20C语言中, 使用%代表占位符的意思, 如%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
", 5);printf("%d
", 5.01);}
输出:

0.0000001889785610
From:csdn博客 Spike_King