gpt4 book ai didi

c - 输出的奇怪行为

转载 作者:行者123 更新时间:2023-11-30 14:26:22 25 4
gpt4 key购买 nike

我完全陷入困境,在这段代码中,这段代码的目的是 找到由两个 3 位数字的乘积组成的最大回文数。我为此编写了代码:

 #include <stdio.h>
void main ()
{
unsigned long long int mul = 1, temp = 0, reverse = 0, pelindromenum=0;
int i, j;
for (i=100;i <=999;i++)
{
for(j=i;j<=999;j++)
{
mul = i*j;
temp = mul;
while (temp != 0)
{
reverse = reverse * 10;
reverse = reverse + temp%10;
temp = temp/10;
}
if (reverse == mul)
{
if (pelindromenum <= mul)
{
pelindromenum = mul;
}
}
}
}
printf ("%llu", pelindromenum);
}

它给出了 0。我无法理解为什么它给出了 0,我多次浏览代码,但我找不到任何问题,请在这里帮助我。

谢谢

最佳答案

您没有在循环内重置reverse。所以第一次迭代后它就是垃圾。

while (temp!=0) block 之前添加 reverse = 0;

关于c - 输出的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9191721/

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