gpt4 book ai didi

c - 我的函数没有返回它应该返回的内容

转载 作者:行者123 更新时间:2023-11-30 20:57:33 25 4
gpt4 key购买 nike

我创建的函数有问题。它不会返回 1 。我尝试使用 main 中的代码而不是在函数中,它起作用了。

我不知道我是否遗漏了什么,所以请检查一下并告诉我:

int happynum(int n); // THIS IS THE FUNCTION

int main()
{
int num,digito,i,dig,temp,sum=0, lol;

do {
printf("Escribe un numero positivo:\n");
scanf("%d", &num);
} while (num <= 0);

lol = happynum(num); // THIS IS WHAT THE FUNCTION RETURN
printf("%d ", lol);

while(num!=89 && num!=1) //THIS IS THE SAME FUNCTION BUT IN THE MAIN
{
sum=0;
while(num>0)
{
dig=num%10;
num=num/10;
sum=sum+(dig*dig);
}
num=sum;
}

printf("%d", num);
/*
if(num== 1)
{
printf("Happy Number\n");
}
else
printf("UnHappy Number\n"); */
return 0;
}

这是函数:

int happynum(int n)  // THIS IS THE FUNCTION
{
int i,dig,num,sum=0;

while(num!=89 && num!=1)
{
sum=0;
while(num>0)
{
dig=num%10;
num=num/10;
sum=sum+(dig*dig);
}
num=sum;
}
return num;
}

最佳答案

您正在使用 happynum 本地的 num 而不是您传递的参数。将参数命名为 num,然后使用它,如下所示:

int happynum(int num)  // THIS IS THE FUNCTION
{
int i,dig,sum=0;

while(num!=89 && num!=1)
{
sum=0;
while(num>0)
{
dig=num%10;
num=num/10;
sum=sum+(dig*dig);
}
num=sum;
}
return num;
}

然后,您可能应该取消注释 main 末尾的 block ,以便获得 Un/Happy Number 结果。

关于c - 我的函数没有返回它应该返回的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58355267/

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