gpt4 book ai didi

c - 我在for循环语句中哪里做错了?

转载 作者:行者123 更新时间:2023-11-30 18:38:46 25 4
gpt4 key购买 nike

这是我的程序,带有一个 for 循环:

int main() 
{
int prod, i, num;

printf("\nHOW MANY NUMBERS WOULD YOU LIKE ME TO MULTIPLY\n");
scanf("%d", &num);

prod = 1;

for (i = 0; i <= num; i++)
{
prod = prod * i;
}

printf("\nTHE FACTORIAL OF THE GIVEN %d NUMBERS IS %d \n", num, prod);

system("pause");
return 0;
}

当我执行程序时,即使我将 num 值输入为 5 或 for 循环不增加的任何其他数字,它也会给我 0 作为输出。我哪里出错了?

最佳答案

您正在将所有内容乘以0。第一个循环后,prod0。然后用它乘以 i 的下一个值。零乘以任何数字都是零。

您可以通过在 [1, num] 范围内进行迭代来解决此问题:

for (i = 1;  i <= num;  i++)
{
prod *= i; /* same effect as prod = prod * i */
}

关于c - 我在for循环语句中哪里做错了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32719241/

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