C 中的用户定义函数中的这些返回值是怎么回事?

问题描述 投票:0回答:1

在 C 中打印用户输入整数的反转的程序

#include<stdio.h>

int reverse(int x)
{
    int lastdigit;
    while(x>0)
    {
        lastdigit=x%10;
        printf("%d",lastdigit);
        x=x/10;
    }
    return lastdigit;
}

int main()
{
    int num,fn;
    printf("Enter any Number: ");
    scanf("%d",&num);
    fn=reverse(num);
    return 0;
}

在函数定义部分的代码中,当我以返回值设置为最后一位运行时。我得到正确的输出。当我用 x 替换它时,我得到正确的输出。当我用 return 0 替换它时;我得到正确的输出。为什么会这样?返回值在这里起什么实际作用?

c return user-defined-functions
1个回答
0
投票

您的程序不使用函数返回值来计算或打印任何内容,因此函数返回什么值并不重要。

您的函数通过使用

printf
打印数字来报告其结果。因此结果以这种方式传递给用户,而不是通过函数返回值。您可以更改程序,使函数返回类型为
void
,这意味着函数不返回值,并且程序仍然可以工作。

在其他程序中,函数可能会向其调用者返回一个值,并且调用者可以在表达式或进一步计算中使用该值。那么函数返回的值就很重要了。

© www.soinside.com 2019 - 2024. All rights reserved.