为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我输出的结果是99;99.000000;99.000000?

编码在旁边,求好心人~

正在回答

3 回答

char c = 'a'; // 这个是将'a'这个字符赋值给字符变量c
int n = 'c';
float f = 'c';
double d = 'c';

而后面这三个都是把'c'这个字符赋值给了n、f、d变量,'c'字符的ascii值是99。

所以int变量n的值是99,float变量f的值是99.0,double d的值是99.0。

printf函数用%d格式化输出int变量,所以输出了99。 而%f用于格式化float和double型变量,实际上printf将float和double都视为double型,所以都对应%f。默认输出的精度是小数点后6位,所以就是99.000000。


0 回复 有任何疑惑可以回复我~

不用单引号

0 回复 有任何疑惑可以回复我~

字符'c'的ASCII吗值是99..另外稍微说一下= =。不存在printf("%lf"..这种东西。。只有printf("%f"...)

1 回复 有任何疑惑可以回复我~
#1

林泽华

我一般会写%g
2015-02-07 回复 有任何疑惑可以回复我~
#2

Fiona0126 回复 林泽华

...两者在实现功能上还是有区别的。。
2015-02-07 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我输出的结果是99;99.000000;99.000000?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信