gpt4 book ai didi

c - 为什么return语句不返回float?

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

我是编程新手,正在从 schildt 的自学 C 中学习 C。我正在尝试创建一个返回平方的函数。但是当我输入带小数的数字时,它输出为整数。为什么要这样做?我的程序:

    #include <stdio.h>
int get_sqr(void);

void main()
{
float x;
x = get_sqr();
printf("square : %f",x);
return 0;
}

int get_sqr(void)
{
float y;
printf("enter a number : ");
scanf("%f",&y);
return y*y; /*returning the square result to assignment argument */
}

最佳答案

这是因为get_sqr()的返回值为int。尽管 return 语句中的值是 float,但 C 会隐式将其转换为 int,因为该函数被声明返回 int:

int get_sqr(void)

将该行更改为

float get_sqr(void)

并且将返回y*y的完整float值。

关于c - 为什么return语句不返回float?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46297612/

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