c语言初学,我输入一个36.8,转换精度%10.6e。。得出的答案变成13位了,为嘛,求解,谢谢

2025-06-22 16:30:19
推荐回答(1个)
回答1:

%10.6e的意思是保留小数点后6位,不足时用其后用0补齐,总体占宽10位。但有规定:当数据的实际位数多于10位时按实际位数输出。这里的规则是小数点前保留1位整数,后面6位小数,小数点实际位置由e后面的指数决定。那么就应该输出3.680000e+001,由于这个数已经13位了,所以不受%后的10限制了。你可以这么验证:把%10改成%15,前面就有两个空格了。