n=n%pow(10,i); 各个位数求和的问题 %报错

#include
#include
int main()
{
int m=0,n,i,a,s=0;
scanf("%d",&n);
while(n/10!=0){
m++;
}
for(i=m;i>0;i--){
a=n/pow(10,i);
s+=a;

}
printf("%d",s);

}

这是个N位数,
其中报错,是%号的问题,但我着实不知道怎么改

pow返回值double,%只能整型运算,
n = n % (int)pow(10, i);