gpt4 book ai didi

c - 如何在 C 中使用此代码进入 while 循环

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

我刚开始学习 C 语言,并尝试创建自己的函数。但是,我不明白为什么我的 while 循环不在此代码中运行。我试了很多方法比如==, !=, < , >...等,但我不明白为什么它不能正常运行。

附言。我误解了阶乘是什么 :( 我根据大家的建议更改了代码。谢谢大家

#include <stdio.h>

int my_iterative_factorial(int nb)
{
int i;
int store;

i = 1;
if(nb == '0')
return(0);
while (nb > 0)
{
i = i * nb;
nb--;
}
return(i);
}

int main(void)
{
int nb;

nb = 5;
printf("%d\n",my_iterative_factorial(nb));
return(0);
}

最佳答案

这里

while (nb > '0')

应该是这样的:

while (nb > 0)

'0'0 非常不同。 '0' 是一个整数文字,就像 0 一样,但它表示显示为 0 的字符的值。通常(在 ASCII 中)这是一个值48。所以 while (nb > '0') 等同于 while (nb > 48),这就是它不起作用的原因。

此外,循环不会终止。不要忘记在每次迭代中减少 nb

关于c - 如何在 C 中使用此代码进入 while 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53560030/

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