Online Compiler C

#include <stdio.h> int main() { int i,a,b,max,min; max=0; min=9; scanf("%d",&i); while(i>0){ a=i%10; a=i/10; a=a; if(max<a){ max=a; } if(min>a){ min=a; } b=max-min;} printf("%d",b); return 0; }
1) Этот код пытается найти разницу между максимальной и минимальной цифрами введённого числа. Однако в нём есть ошибки, из-за которых он работает некорректно.  

2) Подсказки:  
- Обрати внимание на операции с переменной `a` внутри цикла: возможно, ты перезаписываешь её не так, как задумано.  
- Проверь, правильно ли обновляется значение `i` в цикле `while`.