作业帮 > 综合 > 作业

设x=2.5,a=7,y=4.7,求x+a%3*(int)(x+y)%2/4 要说明先算哪步.最好再说说运算符的优先级.

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/27 15:13:38
设x=2.5,a=7,y=4.7,求x+a%3*(int)(x+y)%2/4 要说明先算哪步.最好再说说运算符的优先级.
x+a%3*(int)(x+y)%2/4 //先算(int)(x+y),x+y取整得7
=x+a%3*7%2/4 //算a%3=1
=x+1*7%2/4 //算1*7=7
=x+7%2/4 //算7%2=1
=x+1/4 //算1/4=0
=x+0
=2.5
再问: 为什么我这么打输出来的是2.000000 main(){ int x=2.5,a=7,y=4.7; float h; h=x+a%3*(int)(x+y)%2/4; printf("%f\n",h); }
再答: /int x=2.5,a=7,y=4.7;//请问x,与y是整数吗? //下面是测试程序 #include int main(void) { float x=2.5,y=4.7; float h; int a=7; h=x+a%3*(int)(x+y)%2/4; printf("%f\n",h); return 0; }