深入理解:K&R:如果某个算术运算符有一个浮点型操作数和一个整型操作数,则在开始运算之前整型操作数将会被转换为浮点型

/* //深入理解:K&R:如果某个算术运算符有一个浮点型操作数和一个整型操作数,则在开始运算之前整型操作数将会被转换为浮点型。 */
#include <stdio.h>
int main(){
int x = 1;
int y = 2;
int s ;
float ss;//为了不丢失精度,结果以float型保存
float sf;
float sf1;
float sf2;
s = 1.0+x/y;
ss = 1.0+x/y;
sf = float(x/y);
sf1 = (float)x/(float)y;
sf2 = x/(y*1.0);
printf("sf2 = %f\n",sf2);//0.500000
printf("sf1 = %f\n",sf1);//0.5
printf("sf = %f\n",sf);//0.000000
printf("ss = %f\n",ss );//1.000000
printf("s = %d\n",s );//1
printf("x/y*1.0 = %f\n",x/y*1.0);
printf("(1.0 + x/y) = %f\n",(1.0 + x/y) );//1.000000
/*由于x/y的优先级更高,所以该式为1.0 + 0 = (float)1.0=1.000000 */
printf("(1.0 + x/y) = %d\n",(1.0 + x/y) );//0
printf("1.0 + x/y = %d\n",1.0 + x/y);//结果为0,because 这里%d优先正对单个变量
return 0;
}
posted @   xuchaoxin1375  阅读(3)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
点击右上角即可分享
微信分享提示