思路是什么,难点是什么

{
char c;
int max=-1;
while((c=getchar())!='\n'){
if(c>='0'&&c<='9'){
max=max>(c-'0')?max:(c-'0');
}
}
if(max>=0) printf("%d",max);
return(0);
}