Онлайн компилятор C

#include <stdio.h> int main() { int N,min=9,max=0,result; scanf("%d",&N); while(N/10>=10){ N=N/10; if(N>=max){ max=N; }; }; while(N%10!=0){ N=N%10; if(N<=min){ min=N; }; } result=max*min; printf("%d",result); return 0; }
1) 这段代码旨在读取一个整数,通过两个循环分别找出最高位数字和最低位数字,然后计算它们的乘积并输出。

2) 提示1:第一个循环的条件 `N/10>=10` 可能无法正确处理所有情况,思考下如何确保能提取到最高位数字。
   提示2:第二个循环使用 `N%10!=0` 作为条件可能存在问题,因为最低位数字可能是0,这会导致循环无法正常执行。