Help me in solving LPYAS151 problem

My issue

SIGSEGV

My code

#include <stdio.h>

int main() {
    int  m,c=0,p,r,sum=0;
    scanf("%d",&m);
    p=m;
    while(m>0)
    {
        c++;
        
        m = m/10;
        
        
        
        }
        m=p;
        while(p>0)
        {
            
            
            r=p%10;
            sum=sum++;
            
            p=p/10;
            
        }
        if  (sum = m) {
        printf(m,"is an Armstrong number");
        }
        else{
            printf(m,"is Not an Armstrong");
        }
    

}


Learning course: Algorithmic Problem Solving
Problem Link: https://www.codechef.com/learn/course/klu-problem-solving/KLUPS00A/problems/LPYAS151