#include#include main (){\x05double a=7,x=2.8,y=4.6,m=0;m=x+
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/09/25 15:26:02
#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
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;
}
哪里出错了?写个正确的
错误提示是%的左操作数不能是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)
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)
#include#include main (){\x05double a=7,x=2.8,y=4.6,m=0;m=x+
#include #include main() { int x,y; float m; for(x=0;x
# include # define MAX(x,y) (x)>(y)?(x):(y) main() { int a=5
#include int main (){ int x,y,z; m=x+y+z=10; printf("sum=%d\
#include #define S(x) x*x void main() { int a,k=3,m=1; a=S(k
#include #include void main() { char x[]="STRING"; x[0]=0; x
#define SQR(X) X*X #include void main(){ int a=16,k=2,b=4,m=
C语言求找错,.#include int main(){\x05int sign=1;\x05double deno=2
#include main() {char x=0xFFFF; printf("%d",x);}
#include main() { int x=0; while(x++
#include main() {int x,y=0,i; for(x=11;x
#include int main(){ int x=0,y=0; while(x