如何在 C 中不使用常量永久存储整型变量?

问题描述 投票:0回答:1

所以问题是我有一个整数,但我需要多次重用它,如果我调用不同的函数来执行不同的数学运算(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
中无法使用。

有没有办法解决这个问题,而不需要声明另一个变量来临时存储数字?

(编辑:数字是用户询问的,所以我不能将其声明为常量)

c scope variable-assignment
1个回答
0
投票

您可以使用静态变量。如果代码跨文件,则使用 extern 变量。

© www.soinside.com 2019 - 2024. All rights reserved.