void类型的函数,其返回值能是小数么?
解决时间 2021-03-01 11:44
- 提问者网友:暗中人
- 2021-03-01 01:18
比如这个小函数:
#include
void main()
{
int n1, n2 ;
cout << "Please enter two integers : ";
cin >> n1>>n2;
cout <<"(" <}
输出的结果是计算的结果6.5么?
最佳答案
- 五星知识达人网友:神也偏爱
- 2021-03-01 02:50
你犯了一个概念性的错误:没有弄清返回值的概念。
返回值是一个函数执行完毕之后给主程序返回的内容,用return关键字。void是空函数的意思,没有返回值,所以没有return语句。
而你代码中体现的是显示器显示的内容,都是函数内部的,跟函数类型无关。因为你定义的是整形数据int ,所以n1,n2必须是整形,当然就不能有小数点了。
如果你定义是这样的 float n1,n2; 就可以有小数点了
全部回答
- 1楼网友:山有枢
- 2021-03-01 05:02
首先,void类型函数是没有返回值的。
其次,由于你对n1,n2定义都是整形,所以也是不会输出6.5的
- 2楼网友:纵马山川剑自提
- 2021-03-01 04:39
两个整数的和,除以2,大部分编译器会处理成整数,结果肯定不是6.5
大部分情况下是6,有些系统会出现6.500000
- 3楼网友:神鬼未生
- 2021-03-01 03:48
这个程序的意思是
给我2个位置我要定义整数型变量n1,n2
屏幕上给我写Please enter two integers :
等别人输入n1n2完
屏幕上给我写" n1 "+" n2 ")/2="(n1 + n2 )/2“(引号当中的是位置里面的值)
翻译完了看看计算机怎么做
首先分配内存给n1,n2因为你说了是int型所以是没有浮点的这个和多少位和你的计算机有关,别问我是多少问你的机器去。 然后申请到了2个寄存器的空间等别人输入2个数字,输入超过范围要么报错要么就是不是你要的,这些都做完了,那么继续执行下一句我要(n1 + n2 )/2的值,很好因为你没有定义这个东西的变量那么他会作为一个临时的变量放在一个寄存器里面,是什么呢。就是6.5。那么我屏幕上面输出的是什么呢
我要举报
大家都在看
推荐资讯