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

#include <stdio.h> int main() { int N, K; scanf("%d %d", &N, &K); int digit; int numdigit = 0; while(N>0){ digit = N % 10; N = N / 10; numdigit ++; } for(int i = 1; i < numdigit; i++){ if(i == K){ printf("%d", digit); } } return 0; }
1) 这段代码旨在读取整数N和K,计算N的位数,然后尝试输出第K位数字(从低位开始数),但实际输出的是最后一次循环中N的个位数,而不是真正的第K位。

2) 提示1:注意循环中digit变量每次都被覆盖,最终只保存了最低位的值。  
   提示2:要获取特定位置(第K位)的数字,需要在循环中记录或直接计算该位的值。