作业帮 > 综合 > 作业

#include#include main (){\x05double a=7,x=2.8,y=4.6,m=0;m=x+

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/06/05 08:38:38
#include
#include
main ()
{
\x05double a=7,x=2.8,y=4.6,m=0;
m=x+a%3*(int)(x+y)%2/4-6;
printf("%f,%f,%f,%f,%f\n",a,x,y,m);
return 0;
}
哪里出错了?写个正确的
#include#include main (){\x05double a=7,x=2.8,y=4.6,m=0;m=x+
错误提示是%的左操作数不能是double型,改成下面这样:
m=x+(int)a%3*(int)(x+y)%2/4-6;
再问: (int) 强制转换的是这个"(x+y)"表达式还是"(x+y)%2/4",表达式? 上面的表达式“m=x+(int)a%3*(int)(x+y)%2/4-6” 这个可不可表达成“m=x+(int)a%3*(x+y)%2/4-6”
再答: (int)(x+y)只是强制转换了x+y,要是想把运算结果强制转换为int,需要把表达式全部用括号括起来,比如m=x+(int)(a%3*(x+y)%2/4-6)