C#基础题

wgale025 2008-12-31 11:54:17
int a=15, b=10;
float c=(float)a/b;

上面这两行代码执行完后,c的值是多少?为什么呢?
我是这样想的:a和b都是整型数字,然后相除得到一个整型数字1。然后在把整型数字转成float类型1.0;
请问我哪里错了。谢谢
...全文
136 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qingdaowxz 2008-12-31
  • 打赏
  • 举报
回复
3楼正解
thc1987 2008-12-31
  • 打赏
  • 举报
回复
int a=15, b=10; 
float c1=(float)a/b; //c1=1.5,先把a转换成float再除以b
float c2=(float)(a/b); //c2=1,先a/b,再转换
zgke 2008-12-31
  • 打赏
  • 举报
回复
(float)a/b;

你把a 转成 float 15.00 /10 是1.5


float c = (float)(a / b);
yanrabbit163 2008-12-31
  • 打赏
  • 举报
回复

int a=15,b=10;
float c = ((float)(a/b));
tianwailaike03212 2008-12-31
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 thc1987 的回复:]
C# codeint a=15, b=10;
float c1=(float)a/b; //c1=1.5,先把a转换成float再除以b
//c2=1,先a/b,再转换
[/Quote]
float c2=(float)(a/b); //(a/b)默认的应该是double
必须显示的转换成float 要不就会有编译错误。
slmuxinxin 2008-12-31
  • 打赏
  • 举报
回复
运算符优先级的问题?
javakiki 2008-12-31
  • 打赏
  • 举报
回复
int a=15, b=10;
float c=(float)(a/b);
这个结果才是1

如果是 int a=15, b=10;
float c=(float)(a/b);那么是先把a转化为float再进行计算

111,130

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧