Онлайн компилятор 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==sum-k){ printf("%d",temp); return 0; } a=a/10; }//哪里有错 }
1) 这段代码的功能是读取一个整数a和位置k,然后输出a从右往左数第k位上的数字。如果k大于a的位数,则输出"error"。

2) 提示1:注意当k=0时的情况,代码可能无法正确处理。
   提示2:检查循环条件 `a>0` 在找到目标数字前a是否可能变为0。