c语言关于整数相除 - 爱问答

(爱问答)

c语言关于整数相除

有定义和语句:int a; char c=10;  float f=100.0; double x;  a=f/=c*=(x=6.5); 则 printf("%d %d %3.1f %3.1f ",a,c,f,x); 的输出结果          
若有定义和语句:double d; float f; long l; int i;  i=f=l=d=20/3; 则 printf("%d %ld %f %f ", i,l,f,d);的输出结果是(小数点后只写一位)

这两个整数相除的部分是怎么计算的为什么第一个的f是1.5,第二个的f是6.0不是6.7

第一个:

a=f/=c*=(x=6.5);

=号是从右往左运算

计算过程:

1。x=6.5;  

2。 c*=6.5; c=10*6.5=65;

3。f/=65; f=100/65=1.5;//保留1位小数

4。a=1.5=1; //取整数部分

第二个:

i=f=l=d=20/3;

1。 20/3=6; //整形运算,结果为整形,去掉小数部分的

2。d=6=6.0; //1位小数

3。l=d=6.0=6; //取整 

4。f=l=6=6.0; //1位小数

5。i=f=6.0=6;//取整

你要注意的是

若一个表达式内,全部整形,则运算过程及结果只是整形

若有一个浮点,就会浮点运算

简单的如

1/2 结果就是0

1.0/2或1/2.0或1.0/2.0结果就是0.5了


相关标签:c语言

下一篇:这几天电脑时间显示错误经系统修复后过1小时多后又显示错误了

上一篇:请问我在录制音频的时候,如何控制自己的语速以及语调?

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?