C 在Printf下,算术运算优先 #包括 int main() { 浮点数a=5.0; printf(“输出为%.2f”,(7/5)*a+12); }
我以为输出是19.00,但输出是17.00。这怎么可能?。请告诉我输出是如何17.00来的……C 在Printf下,算术运算优先 #包括 int main() { 浮点数a=5.0; printf(“输出为%.2f”,(7/5)*a+12); },c,printf,C,Printf,我以为输出是19.00,但输出是17.00。这怎么可能?。请告诉我输出是如何17.00来的……7/5是1。这是整数除法。之后的所有内容都应该清楚。您的7/5将给出一个整数结果,在本例中为1。如果您想得到1.4,需要更改为7.0/5.0以获得浮点结果,这将更改结果。printf根本不会更改结果。您可以在任何其他上下文中计算它,您将得到相同的结果文本5.0是一个double,但代码试图将该double放入浮点。建议:float a=5.0f(注意后面的f)整数除法删除任何分数。似乎您希望分数是kep
7/5
是1。这是整数除法。之后的所有内容都应该清楚。您的7/5将给出一个整数结果,在本例中为1。如果您想得到1.4,需要更改为7.0/5.0以获得浮点结果,这将更改结果。printf
根本不会更改结果。您可以在任何其他上下文中计算它,您将得到相同的结果文本5.0
是一个double
,但代码试图将该double放入浮点。建议:float a=5.0f
(注意后面的f
)整数除法删除任何分数。似乎您希望分数是keptDetail:“更改为7.0/5.0”将提供一个double
结果,而不是float-但方法是合理的。
#include<stdio.h>
int main()
{
float a=5.0;
printf("The Output is %.2f",(7/5)*a+12);
}