2007-2-15 20:39:00 http://www.programfan.com/club/showbbs.asp?id=218492 #include "stdio.h"int main(){ float a,b; char c='a'; int i=97; a=31.1111; b=28.333; printf("%f,%7.4f\n",a+b,a-b); //a+b输出单精度浮点数不是7位有效数字吗?为什么输出答案是59.444099而不是正确答案59.444100呢? 这里似乎如果存在四舍五入的情况,不用double基本输出的小数都有误差的,除非通过%后的参数限制了输出位数有时才可以得出正确的答案 printf("%c,%d\n",c,c); printf("%s,%%\n","china"); getchar();}

评论