为什么这里num的值没有返回到主函数输出?

#include "stdafx.h"
#include<string.h>
#include<math.h>
int reverse( int number )
{
    int i,j=1,num=0,m,n=0,t,h;
    for(i=0;;i++)
     {if(number/j!=0)
      {
       j=j*10;
      }
      else
      break;
     }
    t=(int)pow((double)10,i-1);
    for(m=0,n=1;m<=i;m++)
    {h=number/t;
     num+=h*n;
     number-=h*t;
     t=t/10;
     n=n*10;
    }
    return num;
}
int main()
{
    int n;
    scanf("%d", &n);
    printf("%d\n", reverse(n));
    return 0;
}

 for(m=0,n=1;m<=i;m++)

改为

 for(m=0,n=1;m<i;m++)

即可。

因为 m == i 的时候, t == 0, 会用到分母上