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

学习 时间:2026-04-01 08:53:22 阅读:4593
#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;}哪里出错了?写个正确的

最佳回答

典雅的钻石

端庄的大侠

2026-04-01 08:53:22

错误提示是%的左操作数不能是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)

最新回答共有2条回答

  • 专一的眼睛
    回复
    2026-04-01 08:53:22

    错误提示是%的左操作数不能是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)

上一篇 lettuce 是可数名词吗?可以用a slice of lettuce吗

下一篇 黑色塑料地膜为什么能除草