所以问题是我有一个整数,但我需要多次重用它,如果我调用不同的函数来执行不同的数学运算(Luhn 的 Alogrithem),那将会很混乱。那么有没有办法做到这一点呢?
while(num != 0)
{
array[length] = (num % 10);
num = num/10; //here its clear that number will become 0
length --;
}
int secondArrayLength = 0;
for( int secondlength = countDigits(num) - 1; secondlength > 0; secondlength = secondlength - 2)
{
if (array[secondlength] > 0)
{
secondArrayLength ++;
}
}
所以代码中很清楚,通过执行 num = num/10 我最终会得到零。这在
for( int secondlength = countDigits(num) - 1
中无法使用。
有没有办法解决这个问题,而不需要声明另一个变量来临时存储数字?
(编辑:数字是用户询问的,所以我不能将其声明为常量)
您可以使用静态变量。如果代码跨文件,则使用 extern 变量。