我是编程和学习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 */
}
答案 0 :(得分:2)
因为get_sqr()
的返回值为int
。
虽然return
语句中的值是float
C,但隐式将其转换为int
,因为声明函数返回int
:
int get_sqr(void)
将该行更改为
float get_sqr(void)
将返回float
的完整y*y
值。