zdyzhang 发布留言 2008-10-28 14:47
%.2f是什么意思啊?有什么作用?
[em04] 不好意思哦,上课走了下神,没听到这种形式是什么意思了!!
还有%6.2又是什么意思?有什么作用?
比如:
flioat a=12.56,b=6.31;
char x=‘A';
printf("a+b=%6.2f\n",a+b);
printf("%f,%.2f\n",a,b);
呵呵,最好给我解释下这个是什么意思!!
随心 发布留言 2008-10-28 14:55
格式化输出嘛,用来控制对齐方式输出几位等,书上都有的,好长时间不用了,我也要现翻书的。好好看看书,上面都有的。
zdyzhang 发布留言 2008-10-28 14:58
[em06] 我们书上没有,要不我也不用来论坛问了!!
能不能在讲仔细点,最好加个例子!
随心 发布留言 2008-10-28 15:07
// 一阵翻书后,结果如下:
flioat a=12.56,b=6.31;
char x=‘A';
printf("a+b=%6.2f\n",a+b); // 输出的最小宽度为6,小数点后2位的浮点数
printf("%f,%.2f\n",a,b); // 输出小数点后2位的浮点数
//----------------------------------------------------------
// 下面的知识是你要学的,这是我从百度上翻出来的,记来来吧!!
printf( )的格式字符:
① d格式符 用来输出十进制整数
%d 按整型数据的实际长度输出
%md 使输出长度为m,如果数据长度小于m,则左补空格,如果大于m,则输出实际长度
%ld 输出长整型数据
② o格式符 以八进制形式输出整数
③ x格式符 以十六进制形式输出整数
④ u格式符 用来输出unsigned型数据,以十进制形式输出
⑤ c格式符 用来输出一个字符
⑥ s格式符 输出一个字符串
%s 输出实际长度字符串
%ms 输出的串占m列,如果串长度小于m,左补空格,如果大于m,实际输出
%-ms输出的串占m列,如果串长度小于m,右补空格,
%m.ns 输出占m列,但只取字符串中左端n个字符并靠右对齐
%-m.ns m、n含义同上,靠左对齐,如果n>m,则m自动取n值
⑦ f格式符 以小数形式输出实数
%f 整数部分全部输出,小数部分输出6位
%m.nf 输出数据共占m列,其中有n位小数。如果数值长度小于m,左补空格
%-m.nf 同上,右补空格
⑧ e格式符 以指数形式输出实数
%e 系统指定6位小数,5位指数(e+002 )
⑨ g格式符 输出实数,根据数值大小,自动选f格式或e格式
zdyzhang 发布留言 2008-10-28 15:12
[em04] 恩,这些正是我走神丢掉的!!
来kiss个,以表感谢!!
huhanlinhhl 发布留言 2008-10-28 15:16
应该是这样
你写的这个貌似不是程序连main都没有
%m.n+数据类型 m为你输出的最小宽度如果你输入的占5个字符而m<5则m不起作用原样照输你原来是什么就输出什么但如果m>5则要用空格补位一般正数是右对齐做不空格反之负数左对齐又不空格。
如果是printf("%m.nf",sum);则n为保留的
小数点后的位数 这里要注意float的
有效位数为7位
如果是printf("%m.ns",字符串);则n为截取字符的个数(从左向右截取)
随心 发布留言 2008-10-28 15:17
记住不是目的,会用才是目的.记不住也没事,知道自己去查就行.
小问题多百度,多google一下.
页: [1]