#include<stdio.h>
#include<math.h>
int k=0;
int dtake(int n,int m)
{
int i;
for(i=1;i<=m-1;i++)
{
if(n==0)
{
printf("error");
}
else
n=n/10;
k=n%10;
}
return(k);
}
void main()
{
int a,b,c;
scanf("%d%d\n",&a,&b);
c=dtake(a,b);
printf("%d\n",c);
}
scanf("%d%d\n",&a,&b);
改为
scanf("%d%d",&a,&b);
当n==0的情况,需要break结束循环。scanf中不用换行符号
#include<stdio.h>
#include<math.h>
int k=0;
int dtake(int n,int m)
{
int i;
for(i=1;i<=m-1;i++)
{
if(n==0)
{
printf("error");
break;
}
else
n=n/10;
k=n%10;
}
return(k);
}
int main()
{
int a,b,c;
scanf("%d%d",&a,&b);
c=dtake(a,b);
printf("%d\n",c);
return 0;
}