这一排中哪儿错了?

来源:百度知道 编辑:UC知道 时间:2024/07/07 04:22:13
printf("result is %f\n",s);
出自:
#include <stdio.h>
void main()
{
float a=1.7,b=2.4,s;
s=a+3*-2/(int)(a+b)-12
printf("result is %f\n",s);
}
我用的是WIN TC。 那这个题目的结果是多少呢? -11.300000后面的5个0可以去掉吗?

不是这一排。
这个程序中,很明显,是上一语句结束无“;”,结果导致编译器判断这一句有问题。

s=a+3*-2/(int)(a+b)-12 //这句结束无“;”
printf("result is %f\n",s); //无问题

将上一句的结尾加上";"后,程序运行结果是:result is -11.300000

可以去掉。即设定输入的格式就行了,不过,这个要稍微复杂一点。(自己去研究吧,别人告诉你的没什么意义)
float型输出小数点后6位(即精确到小数点后6位)

前一句加;号
也就是s=a+3*-2/(int)(a+b)-12;

s=a+3*-2/(int)(a+b)-12之后少了个分号
结果是 -11.300000