[提问]关于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]]