目录
一、编译逻辑错误
1、漏情况
mooc上 给定的数字从右边取第k位
当时用数组来做,有一个样例死活不通过,看了一下 是123456 k=6 也就是取第一位的情况
void digit(long n,int k)
{
long a=n;
int i=0;
int b[20]={0};
int c=0;
while (a)
{
c=a%10;
a=a/10;
b[i]=c;//数字记录每一位数字
i++;//算有几位数
}
if(i<k) cout<<"-1";
//下面有问题纯粹是因为没有考虑i=k的情形
if(i>k)
{
cout<<b[i-k];//要注意的是 数组的第一位不是1 是0
}
}
考虑情况要考虑清楚,另:这里的数组开头第一位是b[0] 并且由于是在数组中倒着存数,输出的时候只需要考虑正向的k就可以了
二、系统提示典型错误(格式错误)
1、statement cannot resolve address of overloaded function
这是调用成员函数时忘记加括号