主题:新手求助 运算优先级问题!
m=x+a%3*(int)(x+y)%2/4
x=2.5,a=7, y=4.7
这个我输入vc2008 运算的结果是 2.5
但是我自己算的结果却是1.25
我是这样算的
7%3=1 1*int(x+y)=7 7%2=1 1%4=0.25 0.25+1=1.25!
我不知道我错在上面地方 高手指点!
对了 我写的程序是
#include<stdio.h>
void main()
{
float x,y,m;
int a;
x=2.5;
y=4.7;
a=7;
m=x+a%3*(int)(x+y)%2/4;
printf("%.1f\n",m);
}
x=2.5,a=7, y=4.7
这个我输入vc2008 运算的结果是 2.5
但是我自己算的结果却是1.25
我是这样算的
7%3=1 1*int(x+y)=7 7%2=1 1%4=0.25 0.25+1=1.25!
我不知道我错在上面地方 高手指点!
对了 我写的程序是
#include<stdio.h>
void main()
{
float x,y,m;
int a;
x=2.5;
y=4.7;
a=7;
m=x+a%3*(int)(x+y)%2/4;
printf("%.1f\n",m);
}