fun()多个if怎么返回?

C语言中fun()函数里用多个if用怎么返回呢?为什么用printf输出会出现错误。

代码大概是这样的
#include
/*计算应发放奖金的总数并返回给主函数。i为利润单位为元*/
int fun(int i)
{
int sum;
if(0<i<=100000) sum=0.1*i;

if(100000<i<=200000) sum=10000+(i-100000)*0.75 ;
return(sum);

}
int main( )
{
int i;
scanf("%d",&i);
printf("bonus=%d",fun(i));
NONO (i);
return 0;
}

我打了多个if,但是return只是返回最后一个的值,用怎么修改呢?
问题解决啦谢谢各位大佬们 因为评论点不了所以在这里回复了

fun不是c语言的函数,你自己定义的吧。
要看你的代码哪里写错了。

请把代码贴出来,这样才能看出你的问题

两种方法,一是在每个if语句中都有返回;二是通过在if语句中对中间变量进行赋值,然后在函数末尾返回中间变量。例如:

 int func(int x)
 {
     if(x<0)
     {
            return -1;
     }
     if(x==0)
     {
            return 0;
        }
      if(x>0)
        {
                return 1;
        }
 }

或者

 int func(int x)
 {
        int y;

        if(x<0)y=-1;
        if(x=0)y=0;
        if(x>0)y=1;

        return y;
 }
 if(100000<i<=200000) 
这个写错了

应该是
if(100000<i && i<=200000) 

if语句的条件写的有问题,你不能像数学一样写!除非你知道怎么回事,否则不要连着写这些逻辑运算符。你的应该这样写:

 if(i>0&&i<=100000)......
 if(i>100000&&i<=200000)......

条件写错,不要连着写运算符