int是整数函数,但是我想要计算结果是随便的包括小数点后面N位,用什么变量啊,是不是计算表达式非要选个数值变量啊!不用不可以吗?
C语言中的整数变量?
- 提问者网友:未信
- 2021-04-21 23:38
- 五星知识达人网友:胯下狙击手
- 2021-04-22 00:30
定义实数可以用float和double。
float型的数据长度是32位,取值范围是3.4*10e(-38)~3.4*10e(38),如未经过说明,输出是6位有效数字。
double型的数据长度是64位,取值范围是1.7*10e(-308)~3.4*10e(308),默认输出16位有效数字。
无论是用float,还是double输出小数的位数都是有限制的,在它们的取值范围之内,你可以用%.nf进行自定义输出位数。
- 1楼网友:傲气稳了全场
- 2021-04-22 04:53
用double类型的变量。
是不是计算表达式非要选个数值变量啊! 必须要选,但不一定是数值变量,也有字符变量,根据表达式的类型来选。
- 2楼网友:罪歌
- 2021-04-22 03:15
用float定义变量 没有满足小数点后面N位的变量 即使float变量也只保留小数点后面六位数
计算表达式时必须选择变量 这是C语言的规定
- 3楼网友:胯下狙击手
- 2021-04-22 01:49
- 4楼网友:上分大魔王
- 2021-04-22 00:47
有返回类型的函数,如果函数返回值的类型和函数的类型不一样时,返回值就会发生类型转换,这和赋值语句相同,如 int a=5.0/3 。5.0/3其结果应为是浮点数,但a的值为1。因为这里发生类型转换。函数也是一样:
如:
int average(float sum,int n)
{
return sum/n;
}
浮点数和整型相除过程中,整型会升级会浮点型,因此,sum/n的值应为,float类型的。但函数的返回值却是整型,因为sum/n的结果被转换为 in t型。
例:
#include<stdio.h>
void main(void)
{
printf("%d",average(789.45,30)); //average()前面已经定义
}
结果为:26。
因此:在设计函数时要根据你所要的返回值的要求来,选择函数的类型,你这里说想要抱括小数的返回值。
因些,可以用float 和double 这两个来定义。但在默认的情况下,它们的返回值的小数点的位数有不会是N位,例如:3.0/2的结果为1.5,小数点后就1位,但用float函数返回时,小数点后会是6位,即:1.500000。但如果是5.0/3 这时除不尽的。因此:结果为1.666667。多出的部份就四舍五入了。