Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 打印浮点值时的奇怪行为_C - Fatal编程技术网

C 打印浮点值时的奇怪行为

C 打印浮点值时的奇怪行为,c,C,这些是我的计算 float c = 5.0 * (12.0 - 32.0) / 9.0; printf("%f.2", c); 结果是-11.111111.2,但我预计是-11.11。有什么问题吗?格式说明符应为“%.2f” 在您现在拥有的内容中,.2放错了位置。这就是为什么您得到的数字比预期的多,以及为什么.2在输出的末尾逐字显示。格式说明符应为“%.2f” printf("%f.2", c); 在您现在拥有的内容中,.2放错了位置。这就是为什么会得到比预期更多的数字,以及为什么.2会逐字

这些是我的计算

float c = 5.0 * (12.0 - 32.0) / 9.0;
printf("%f.2", c);

结果是-11.111111.2,但我预计是-11.11。有什么问题吗?

格式说明符应为
“%.2f”


在您现在拥有的内容中,
.2
放错了位置。这就是为什么您得到的数字比预期的多,以及为什么
.2
在输出的末尾逐字显示。

格式说明符应为
“%.2f”

printf("%f.2", c);
在您现在拥有的内容中,
.2
放错了位置。这就是为什么会得到比预期更多的数字,以及为什么
.2
会逐字出现在输出的末尾

printf("%f.2", c);
应改为

printf("%.2f", c);
更新代码如下:

$ cat f.c 
#include <stdio.h>

int main()
{
    float c = 5.0 * (12.0 - 32.0) / 9.0;
    printf("%.2f \n", c);

    return 0;
}
$ gcc f.c 
$ ./a.out 
-11.11 
$ 
$cat f.c
#包括
int main()
{
浮点数c=5.0*(12.0-32.0)/9.0;
printf(“%.2f\n”,c);
返回0;
}
$gcc f.c
美元/年
-11.11 
$ 
应改为

printf("%.2f", c);
更新代码如下:

$ cat f.c 
#include <stdio.h>

int main()
{
    float c = 5.0 * (12.0 - 32.0) / 9.0;
    printf("%.2f \n", c);

    return 0;
}
$ gcc f.c 
$ ./a.out 
-11.11 
$ 
$cat f.c
#包括
int main()
{
浮点数c=5.0*(12.0-32.0)/9.0;
printf(“%.2f\n”,c);
返回0;
}
$gcc f.c
美元/年
-11.11 
$ 

您需要更改float的格式规范;因为这是不正确的 而不是使用

printf("%f.2", c);
尝试使用以下方法:

float c = 5.0 * (12.0 - 32.0) / 9.0;
printf("%1.2f", c); 

这应该有用!:)

您需要更改float的格式规范;因为这是不正确的 而不是使用

printf("%f.2", c);
尝试使用以下方法:

float c = 5.0 * (12.0 - 32.0) / 9.0;
printf("%1.2f", c); 

这应该有用!:)

侧面:%.2f正在截断结果9.9999将显示为9.99侧面:%.2f正在截断结果9.9999将显示为9.99