Online Compiler 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-1){ printf("%d",temp); } } return 0; }
1) 这段代码用于读取一个整数a和位置k,然后输出该整数从右向左数第k位数字(从0开始计数)。如果数字位数小于k,则输出"error"。

2) 提示1:注意循环条件`a>0`会导致无法处理数字中间的0,当找到目标位后循环仍在继续。
   提示2:检查变量`sum`和`k`的关系,特别是`sum-k-1`这个索引计算是否正确。