在线编译器 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) 这段代码用于从整数中提取特定位数的数字:首先计算数字的总位数,然后根据输入的k值输出从右往左数的第k位数字。如果k超过总位数则输出"error"。

2) 提示1:注意循环条件 `a>0` 会导致在找到目标数字后无法正常退出循环。
提示2:检查输出位置的索引计算 `sum-k+1` 是否符合从右往左计数的逻辑。