首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

有个C的程序有关问题小弟我不太明白

2012-03-09 
有个C的程序问题我不太明白。这是源程序。#include stdio.hvoidmain(void){intx15floaty38.3576278dou

有个C的程序问题我不太明白。
这是源程序。
#include <stdio.h>
void   main(void)
    {
      int   x=15;
      float   y=38.3576278;
      double   z=256.3645287;
      char   m= 'p ';
        printf( "x=%d,%5d,%o,%x\n ",x,x,x,x);
        printf( "y=%f,%5.4f,%e\n ",z,z);
        printf( "z=%f,%8.4f\n ",z,z);
        printf( "m=%c,%8c\n ",m,m);
}

答案:
x=15,       15,17,f
y=38.357628,38.3576,3.83576e+01
z=256.364529,256.3645
m=A,               A


我的问题是:

1,printf第二行,y=%f,%f定义的精度是多少?为什么答案四舍五入了最后一位?

2,printf第二行,那个%5.4f中的.4我知道是小数点后的第四位,但5是什么意思
啊?如果变成%6.4f,%7.4f那答案又是多少呢?

3,printf第二行,%e的那个答案是怎么算的啊?

4,printf第四行,m值最后为什么是A?前面不是char   m= 'p ';吗?我觉得答案应该是p的呀!

就这四个问题,我是初学者,而且是自学的,所以麻烦各位说的详细点,谢谢了!

[解决办法]
1,printf第二行,y=%f,%f定义的精度是多少?为什么答案四舍五入了最后一位?
为什么不去查一下f表示什么呢?去查一下float的精度是多少

2,printf第二行,那个%5.4f中的.4我知道是小数点后的第四位,但5是什么意思
啊?如果变成%6.4f,%7.4f那答案又是多少呢?
为什么自己不试试呢?试试改成50.4看看是怎样的你就知道什么意思了

3,printf第二行,%e的那个答案是怎么算的啊?
e是什么知道吗?知道科学计数法不?对比一下38.3576,3.83576e+01这两个有什么区别

4,printf第四行,m值最后为什么是A?前面不是char m= 'p ';吗?我觉得答案应该是p的呀!
你是什么什么编译器的?我试了一下是p哦

热点排行