已有定义 float d1=3.5,d2=-3.5;执行以下语句后的输出结果 是( )。
printf("*d(1)=%e*d(2)=%.4e*d(3)=%10.4e*\n",d1,d1,d1);
printf("*d(4)=%e*d(5)=%.6e*d(6)=%-12.5e*\n",d2,d2,d2);
参考答案:*d(1)=3.50000e+00*d(2)=3.500e+00*d(3)=□3.500e+00*
d(4)=-3.50000e+00*d(5)=-3.50000e+00*d(6)=-3.5000e+00□
不太能理解答案 希望可以帮忙给我解释一下
参考答案的d3和d5是有问题的
科学计数法应该学过吧,printf的格式符%e就是以科学计数打印的
d1=3.5是浮点数:
用%e打印的话是3.500000e+00
用%.4e就是保留小数点后4位即3.5000e+00
用10.4%e即小数点前面保留十位,后面保留4位就是3.5000e+00
d2=-3.5是浮点数
除了正负号的区别外,类比上面的
已有定义 float d1=3.5,d2=-3.5;执行以下语句后的输出结果 是( )。
printf("*d(1)=%e*d(2)=%.4e*d(3)=%10.4e*\n",d1,d1,d1);
printf("*d(4)=%e*d(5)=%.6e*d(6)=%-12.5e*\n",d2,d2,d2);
参考答案:*d(1)=3.50000e+00*d(2)=3.500e+00*d(3)=□3.500e+00*
d(4)=-3.50000e+00*d(5)=-3.50000e+00*d(6)=-3.5000e+00□
不太能理解答案 希望可以帮忙给我解释一下
%m.ne 指定输出的数值共占m位,其中有n位小数。若数值长度小于m,则左端补空格。若数值长度大于m,则按实际数值输出,小数位保留n位。
-表示左对齐,所以后面补空格
e+00表示乘以10的00次方,这是用来计数的。