c++类代码,在类的成员函数中用到的一个临时字符数组,数组定义位置的不同导致答案不同
答案:1 悬赏:70 手机版
解决时间 2021-12-03 19:43
- 提问者网友:一抹荒凉废墟
- 2021-12-02 20:29
c++类代码,在类的成员函数中用到的一个临时字符数组,数组定义位置的不同导致答案不同
最佳答案
- 五星知识达人网友:街头电车
- 2021-12-02 21:17
你这里是分不清局部变量和全局变量啊!
你想达到什么效果,根据你的题目要求,变量定义和使用的方法是不同的!追问额....大兄弟,你就说说哪里错了,不要说这么模糊不清的话,我一直找不到哪里错了,为什么nums_3是局部变量的时候就会出错呢,然而是全局的时候就不会出错呢,我觉得这个 nums_3是局部还是全局好像没有影响追答你这题目根本就用不到这么个变量! 把程序中,关于它的代码部分全删除!
删除它后,修改一下up函数就可以了! 我估计是这个变量影响了你的思路,让你一团乱!而其实是你函数代码的问题。
void up()
{
if(type==2)
return;
type=2;
int i;
for(i=16;i>7;i--) //先将7-15位后移两位
{
nums[i]=nums[i-2];
}
int y=date.gety();//补上年份
nums[6]=(char )((y/1000)+'0');
nums[7]=(char )((y/100)%10+'0');
int left=0; //求校验码
for(i=0;i<17;i++)
left += (nums[i]-'0');
left%=10;
if(left==0)
nums[17]='X';
else
nums[17]=char (left)+'0';
nums[18]='';
}
你想达到什么效果,根据你的题目要求,变量定义和使用的方法是不同的!追问额....大兄弟,你就说说哪里错了,不要说这么模糊不清的话,我一直找不到哪里错了,为什么nums_3是局部变量的时候就会出错呢,然而是全局的时候就不会出错呢,我觉得这个 nums_3是局部还是全局好像没有影响追答你这题目根本就用不到这么个变量! 把程序中,关于它的代码部分全删除!
删除它后,修改一下up函数就可以了! 我估计是这个变量影响了你的思路,让你一团乱!而其实是你函数代码的问题。
void up()
{
if(type==2)
return;
type=2;
int i;
for(i=16;i>7;i--) //先将7-15位后移两位
{
nums[i]=nums[i-2];
}
int y=date.gety();//补上年份
nums[6]=(char )((y/1000)+'0');
nums[7]=(char )((y/100)%10+'0');
int left=0; //求校验码
for(i=0;i<17;i++)
left += (nums[i]-'0');
left%=10;
if(left==0)
nums[17]='X';
else
nums[17]=char (left)+'0';
nums[18]='';
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯