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

#include <stdio.h> int main() { int N,K,b,c,length=0; scanf("%d %d",&N,&K); if(N>=0&&(K>=1&&K<=10)){ c=N/10; length=length+1; While(c!=0); length=length-1; if(length>=K){ for(int i=0;i<K;i++){ c=N/10; b=N%10; N=c; } printf("%d",b); }; }; return 0; }
1) 这段代码试图读取两个整数N和K,计算N的位数,然后输出N的第K位数字(从最低位开始计数)。但代码存在语法错误和逻辑问题。

2) 提示1:检查第9行的While循环,注意C语言中循环语句的关键字是"while"而非"While",且循环体缺少花括号和有效内容。
提示2:考虑当K大于数字总位数时的处理逻辑,目前代码在这种情况下没有输出。