结果为什么会是0?

ga6840 2008-08-27 05:46:53

#include<iostream>
using namespace std;
int getS(int r,int g, int b)
{
int min=r;
if(g<min){min=g;}
if(b<min){min=b;}
double buffer=(double)(min*3)/(double)(r+g+b);
return (buffer);
}
int main()
{
int S1=getS(9,7, 3);

cout<<S1<<endl;

return 0;
}

又问了个白痴问ti
谢谢大家
...全文
51 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xkyx_cn 2008-08-27
  • 打赏
  • 举报
回复
返回的时候double被转换为int了,小于1的double直接转成了0
lzr4304061988012 2008-08-27
  • 打赏
  • 举报
回复
double getS(int r,int g, int b)

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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