为什么 2 个相同数组的元素彼此相等

Why The Elements of 2 Identical arrays Equal each other

本文关键字:元素 数组 为什么      更新时间:2023-10-16

我应该提到这段代码的目的是在以MMDDYYY格式查找日期回文时解决一个领先的零场景。

这是代码。

#include <iostream>
using namespace std;
unsigned numDigits (unsigned num)//this works
{
if (num < 10) return 1;
return 1+ numDigits(num/10);
}
int main ()
{
unsigned date = 1111110;//01/11/1110(jan 11th of 1110 is palindrome)
cout<<numDigits(date)<<"num of dig"<<endl;
if (numDigits(date) == 7)
{ 
unsigned array[8];
unsigned number = date;
unsigned revArr[8];
for (int h = 7; h >= 0; h--) //this pops array withdate
{
array[h] = number % 10;
number /= 10;
cout<<array[h]<<endl;
}
cout<<"vs"<<endl;
for (int i = 0; i < 8; i++) //this pops revarray withdate
{
revArr[i] = number % 10;
number /= 10;
cout<<array[i]<<endl;
}

for (int j = 0; j < 8; j++)
{
if (array[j] == revArr[j])
{
cout<<j<<"th digit are" <<" equal"<<endl;
}
}
}
return 0;
}  

在这种情况下,两个数组都是相同的,我不理解为什么数组[0] == revArr[0] 但数组[1] != revArr[1]等等,但数组[7] == revArr[7] 再次...它让我难以置信。

循环遍历数组的所有元素。即使表达式number /= 10等于0.在这种情况下,零存储在数组元素中,因为0 / 10再次给出0

在第二次循环写入之前

number = date;