下段程序:float a;
int b=5,c=6;
a=(float)b/c;为什么得到的a总是0呢,我用sdk编程
int b=5,c=6;
a=(float)b/c;为什么得到的a总是0呢,我用sdk编程
解决方案 »
- MFC picture 控件画图问题
- 如何实现以名字为规则对文件进行处理
- 求助!!如何用WinSNMP实现一个Agent?
- 我想把一个文件载入内存,然后给出一个地址,让其它程序(如记事本)用这个地址打开内存中的文件
- Vc++ 6.0 的代码提示功能有时无法使用~~经常让人很郁闷
- 不能这样定义吗?为什么?
- 狂散100分:MSDN和VC的冲突——绝望中,高手帮忙!!!
- 为什么我使用VS2010在WIN7下就可以MFC 通过ADO方式连接SQL Server2008,编译通过了,应用文件拷贝到XP就提示指针无效拉
- 如何响应ListCtrl的Header点击的消息?
- 请教Iamafraid,asp启动COM接口,VC中使用ADO
- 谁又这样的 软件,及时在局域网其它及其通讯。发出后信息显示目的机器上
- cbutton 上同时显示 icon 和 text ? pls
int b=5,c=6;
a=(float)b/c;可以写作
float a;
int b=5,c=6;
int tmp=b/c;//由于tmp是整数,所以小数部分被扔掉,故tmp=0
a=(float)temp=0
int b=5,c=6;
a=(float)b/(float)c;
a=(float)(b/c);
试试。
可以理解为
1-->a = (float)((float)b)/((int)c)等同于a = (float)(((int)(float)b)/((int)c));
2-->a = (float)(((int)b)/((int)c)));也就是肯定结果是0.
3--> a = ((float)b)/((float)c);这是正确的!
最好的办法是书写详细点啦!
float xa = (float)a;
float xb = (float)b;
c = xa/xb;