gpt4 book ai didi

c - 递增参数和递归

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

void base_aux(unsigned int n, unsigned int base, unsigned int x) {
if (n > (base - 1)) {
printf("%u", n % base);
base_aux(n / base, base, x++);
} else {
printf("%u", n);
zero_int(32 - x);
printf("\n %d \n", x);
}
}

所以,我想看看为什么我的 x 没有递增。当我调用 zero_int 时它保持为零。有什么理由吗?我该如何解决这个问题?

最佳答案

当你做的时候

foo(x++);

相当于

temp = x;
x = x + 1;
foo(temp);

所以你可以说 x++ 返回 x 然后递增 x。它被称为后缀增量。

因此在您的代码中,您一直使用相同的 x

值调用该函数

如果你这样做

foo(++x);

相当于

x = x + 1;
temp = x;
foo(temp);

所以你可以说 ++x 递增 x 然后返回 x。称为前缀递增。

关于c - 递增参数和递归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43269683/

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