char c = 'a';
int n = c ; //将c赋值给n
float f = c; //将c赋值给f
double d = c; //将c赋值给d
printf("%d\n",n);
printf("%f\n",f);
printf("%lf\n",d);
严格地说,在printf中float和double都应该用%f来格式化,因为在传入参数时float会被提升为double,而printf中%f就是用来表示double的。
不过一些编译器也不把%lf视作错误而已。
注意:printf中%f的含义和scanf中是不一样的!在scanf中确实是用%f代表float,用%lf代表double。
%f用是单精度,而%lf是双精度