cs宇帝 发表于 2023-11-4 17:36:35

返回值类型

请问一下return返回值类型是int吗是不是与int new _div(double a,double b)int对应,假如是double new_div(double a,double b)是不是返回double型了
#include<stdio.h>
int new_div(double a,double b)
{
        return a/b+0.5;
}
main()
{
       
        printf("%d\n",new_div(7.8,3.1));
}

isdkz 发表于 2023-11-4 17:36:44

return返回值类型不一定是int,它可以是任何合法的数据类型。在你提供的代码中,new_div函数的返回类型是int,因此返回的结果会被截断为整数。在这种情况下,返回值将是int类型。

如果你将new_div函数的返回类型改为double,那么返回值将是double类型。这意味着返回的结果将保持浮点数的精度。

以下是修改后的代码示例:

#include<stdio.h>

double new_div(double a, double b)
{
    return a / b + 0.5;
}

int main()
{
    printf("%f\n", new_div(7.8, 3.1));
    return 0;
}


在这个示例中,new_div函数的返回类型被修改为double,并且在main函数中使用 %f 格式化符号来打印double类型的返回值。这样,返回的结果将保持浮点数的精度。

Mike_python小 发表于 2023-11-4 17:37:00

问题:return返回值类型是int吗?与int new_div(double a, double b)对应。如果是double new_div(double a, double b),返回值是double型吗?

在你提供的代码中,函数new_div被声明为返回类型为int的函数,因此其返回值类型是int。

对于函数声明int new_div(double a, double b),这意味着该函数将返回一个整数值。在函数体内部,你使用了除法运算符/来计算a/b的结果,并通过加上0.5来进行四舍五入。然后,返回值被隐式地转换为int类型,因为函数的返回类型是int。这意味着最终的返回值将是int类型。

如果你想要函数返回一个double类型的值而不是int类型的值,你需要将函数的返回类型从int改为double,并相应地修改函数的实现。修改后的代码如下所示:


double new_div(double a, double b)
{
    return a / b + 0.5;
}

int main()
{
    printf("%f\n", new_div(7.8, 3.1));
    return 0;
}


在修改后的代码中,函数new_div被声明为返回类型为double的函数。在函数体内部,执行相同的除法和四舍五入操作,但由于返回类型是double,因此最终返回的值将是double类型的。

希望这个解答对你有帮助。如果还有其他问题,请随时提问。

球一个最佳答案谢谢啦!这对我非常重要!{:10_254:}{:10_254:}{:10_254:}
页: [1]
查看完整版本: 返回值类型