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。
不用单引号
字符'c'的ASCII吗值是99..另外稍微说一下= =。不存在printf("%lf"..这种东西。。只有printf("%f"...)