gpt4 book ai didi

c - 递归连接两个整数

转载 作者:太空宇宙 更新时间:2023-11-04 02:17:56 25 4
gpt4 key购买 nike

我需要编写一个函数来接收两个正整数并将它们连接起来返回。

示例:Cat(12,13)​​ 返回 1213

我知道如何以迭代的方式做到这一点,它会是这样的:

int Cat(int num1, int num2)
{
int temp = num2;

while (temp > 0)
{
num1 *= 10;
temp /= 10;
}

return num1 + num2;
}

但是当我使用递归时,我不能使用将用于计算数字的临时变量,如果使用参数,我将失去它的值。

最佳答案

您可以添加第三个参数作为一种计数器:

int Cat2(int num1, int num2, int x)
{
if (x == 0)
{
return num1 + num2;
}
else
{
return Cat(num1 * 10, num2, x / 10);
}
}

int Cat(int num1, int num2)
{
Cat2(num1, num2, num2)
}

关于c - 递归连接两个整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4641849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com