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

#include <stdio.h> int main() { int a,k; int sum=0; scanf("%d %d",&a,&k); int temp;int A=a; while(A>0){ A=A/10; sum++; } if(sum<k){ printf("error"); return 0; } for(int i=0;a>0;i++){ temp=a%10; if(i==k+1){ printf("%d",temp); return 0; } } return 0; }
1) 这段代码旨在从整数a中提取第k位数字(从最低位开始计数,最低位为第0位),如果a的位数小于k则输出"error"。

2) 提示1:注意循环条件`a>0`可能导致无法处理第k位是0的情况。
   提示2:检查循环中`i==k+1`的条件判断逻辑是否正确,思考如何直接定位到第k位。