为了账号安全,请及时绑定邮箱和手机立即绑定

#include <stdio.h> int main() { int a,b,c,d; double result; a = 1; b = 2; c = 3; d = 4; result = a + b + c + d; //在这里体验哦~ printf("%d\n", result); return 0; }

为什么我把printf后面的%f改成%d之后结果不一样了

正在回答

2 回答

因为%d与%f是不同的格式化符,建议你再去看看章节2-5。

0 回复 有任何疑惑可以回复我~
#1

Click_ 提问者

难道不是只是%f比%d多了小数点后六个零吗,为什么小数点之前的数字也会不一样呢?
2021-08-18 回复 有任何疑惑可以回复我~
#2

是凯哥啊 回复 Click_ 提问者

%d输出的时带符号十进制整数,%f输出时是小数点后有6位的值
2021-10-13 回复 有任何疑惑可以回复我~

%f是小数型的,%d是整数型的;abcd都是整数,要用%d

2 回复 有任何疑惑可以回复我~
#1

Click_ 提问者

噢噢好的懂了,谢谢
2021-08-18 回复 有任何疑惑可以回复我~
#2

Click_ 提问者

还是不大对劲,我是用的%f
2021-08-18 回复 有任何疑惑可以回复我~
#3

Click_ 提问者

%f出了正确结果,但是%d的结果显然不对
2021-08-18 回复 有任何疑惑可以回复我~
#4

柒寳 回复 Click_ 提问者

你上面已经定义了double result;你想使用%d计算出结果;那就把double换成int,定义result为整数,下面%d才能对应生效;
2021-08-26 回复 有任何疑惑可以回复我~
#5

Click_ 提问者 回复 柒寳

懂了!谢谢!
2021-08-31 回复 有任何疑惑可以回复我~
查看2条回复

举报

0/150
提交
取消

#include <stdio.h> int main() { int a,b,c,d; double result; a = 1; b = 2; c = 3; d = 4; result = a + b + c + d; //在这里体验哦~ printf("%d\n", result); return 0; }

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信