[提问]关于int类型数据的问题,谢谢~[已解决]
有以下代码
程序代码:#include <stdio.h>
#include <conio.h>
int main()
{int i,u[4],v[4],x,y=10;
for(i=0;i<=3;i++)
scanf("%d", &u[i]);
v[0]=(u[0]+u[1]+u[2]+u[3])/7;
v[1]=u[0]/((u[1]-u[2])/u[3]);
v[2]=u[0]*u[1]/u[2]*u[3];
v[3]=v[0]*v[1];
x=(v[0]+v[1]+2)-u[(v[3]+3)%4];
if(x>10)
y+= (v[2]*100-v[3])/(u[u[0]%3]*5);
else
y+=20+(v[2]*100-v[3])/(u[v[0]%3]*5);
printf("%d,%d\n", x,y);
for(i=0;i<=3;i++)
printf("i:%d ",v[i]);
getch();
return 0;
}其中
v[1]=u[0]/((u[1]-u[2])/u[3]);一句,
计算(u[1]-u[2])/u[3]的值为-1.5
但是进行下一步计算u[0]/((u[1]-u[2])/u[3])的时候是按照值为1计算的
请问C语言int类的计算不管是结果还是计算过程中都是保留整数位吗?
谢谢
[[it] 本帖最后由 子洋虾米 于 2008-10-12 13:40 编辑 [/it]]








