所以,我正在学习c,我正试图在我的一个程序中打印价格。价格应该是14.25,但是当我使用printf输出它时,由于某种原因它输出-305900456。这是我的代码......
$ docker image ls --format '{{ .Repository }} {{ .ID }}' | grep fedora | cut -d" " -f2
cc510acfcd70
5292e27c6dac
422dc563ca32
有人可以告诉我为什么这不会输出预期值。
答案 0 :(得分:2)
这是因为当您使用"%d"时,您指示您的代码输出错误的数据类型。相反,你需要使用"%f"如果要输出double
(带小数点的数字)。所以这是你的代码应该是什么样的:
#include <stdio.h>
int main() {
double price = 14.25;
printf("%f",price);
return 0;
}
注意&#34;%f&#34;在代码中?这是输出double
所必需的。如果你想输出一个没有小数的数字,你会使用&#34;%d&#34;。