%f是float的控制符你定义的double,用f肯定控制不了double的格式控制符是%lf,%.2lf就是把double输出为2位小数%2f是把float的输出为2位小数%2f是把float的所有位数输出2位,包括小数点,如果不组2位,补0,如果超过2位,按照实际输出%2lf是把double的所有位数输出2位,包括小数点,如果不组2位,补0,如果超过2位,...
答:1.C语言中printf输出float和double都可以用%f,而double型数据还可以用%lf。2.scanf当中若是对双精度的变量赋值是必须是%后跟lf,而printf当中可以用%f也可以用%lf没有限制。
double型的数据类型可以用%f输出 long double型的要用%lf int 型的要用%d long int要用%ld long long int要用%lld char 要用%c 字符串型的要用%s 输出变量在内存的地址用%p
%f 本来就是输出double类型数的。 雾香_楼兰 帕秋莉糕 12 Nsneh 低能力者 5 蠢货,不会的 雾香_楼兰 帕秋莉糕 12 要是还不明白我也没招了。 expectances 强能力者 7 printf 应该无所谓。scanf:double - lffloat - f 登录百度帐号 扫二维码下载贴吧客户端 下载贴吧APP看高清直播、视频!
它不是printf函数。在具有可变参数的函数中,默认参数提升使用临时double变量,该变量使用传入的float初始化...
%f是float的控制符你定义的double,用f肯定控制不了double的格式控制符是%lf,%.2lf就是把double输出为2位小数%2f是把float的输出为2位小数%2f是把float的所有位数输出2位,包括小数点,如果不组2位,补0,如果超过2位,按照实际输出%2lf是把double的所有位数输出2位,包括小数点,如果不组2位,补0,如果超过2位,...
double型的数据类型可以用%f输出 long double型的要用%lf int 型的要用%d long int要用%ld long long int要用%lld char 要用%c 字符串型的要用%s 输出变量在内存的地址用%p
双精度double用 %lf 单精度float用%f 对于输出printf,因为有一个“默认参数提升”规则,float型会被提升为double型。因此printf只会看到双精度数。%f在这里的作用其实也有一个,默认显示小数点后6位
不对。应该是scanf("%lf",&a);才对。输入就不用纠结了,只要是十进制数字就行。
scanf函数是认识双精度浮点型数据,只不过在显示器上是以小数点后六位数显示的,实际上运算和存储还是以double型的,而且从你编程原代码看,你定义了i为整型变量,你却把双精度浮点型变量p赋给它,这样系统会强制进行数据类型转换,存在截取问题。你把i也定义成double试试!