C语言数据类型题

来源:百度知道 编辑:UC知道 时间:2024/06/06 20:28:49
int a=1234;float b=123.456;double c=12345.54321;
printf("%2d,%2.1f,%2.1f",a,b,c);
输出结果是1234
123.5
12345.5
b怎么会四舍五入等于123.5呢?

%2.1f表示精确到小数点后一位,4的后面是5,四舍五入就等于123.5了阿

%2.1f格式控制输出 表示输出小数时小数保留小数点后一位
123.456会采取四舍五入的方法将小数点后第二位5处理,结果就是123.5
通常我们小小的饿该下程序,就会发现问题了
如果该下 printf("%2d,%2.2f,%2.1f",a,b,c);
就变成123.46了
printf("%2d,%2.3f,%2.2f",a,b,c);
变成123.456了
printf("%2d,%2.4f,%2.2f",a,b,c);
变成123.4560