求以下C程序输出,求解释。还有就是上面的控制符:比如%8.2f 中的%f 中间夹着数字有着什么含义,有什么用,

#include<stdio.h>

void main()

{

int a=5,b=7;

float x=67.8564,y=-789.124;

char c='A';

long n=1234567;

unsigned u=65535;

printf("%d%d\n",a,b);

printf("%3d%3d\n",a,b);

printf("%f,%f\n",x,y);

printf("%-10f,%-10f\n",x,y);

printf("%8.2f,%8.2f,%.4f,%4f,%3f,%3f\n",x,y,x,y,x,y);

printf("%e,%10.2e\n",x,y);

printf("%c,%d,%o,%x\n",c,c,c,c);

printf("%1d,%o,%x\n",n,n,n);

printf("%u,%o,%x,%d\n",u,u,u,u);

printf("%s,%5.3s\n","COMPUTER","COMPUTER");

}

还有就是上面的控制符:比如%8.2f 中的%f 中间夹着数字有着什么含义,有什么用,我就是这里不明白,求指点指点,感谢!~

%3d,表示输出地是整形数(也就是int)最多位数为3位(到百位),如果输出的数超出了三位,自动突破,输出;若不足三位,例如只有两位,右边补空格,凑成三位,当空格在输出时是看不到的。
-10f表示左对齐,输出浮点数(float)(默认的为右对齐),不足十位左边补满空格直至十位,若满足或超出十位,自动突破。
8.2f,是可以输出带小数的浮点数,小数位数为两位,整个浮点数,包括小数点为八位数。
e是浮点数的另一个标准表示形式。你可以上网或在书上查一下,比如63.2,可以表示成6.32+001e,10.2e表示在此标准新式下,所有的位数,包括+,001e,小数点,还有6.32加起来的位数为9位,小于10,而且如6.32,小数部分要小于两位。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-11-05
%8.2f 按 float 浮点格式,数据占8位(包括符号,小数点),小数部分2位,如果位数大于8那么就照原样输出,如果位数小于8那么就右补0;
%-8.3如果位数小于8那么就左补0
第2个回答  2010-11-05
%8.2f 按 float 浮点格式,数据占8位(包括符号,小数点),小数部分2位;