函数没有返回值是什么意思

在CprimerPlus书中的214页看到这样一句话:voidstarbar(void);“第一个void指的是函数类型:他的意思是该函数没有返回值”该函数没有返回值是什... 在C primer Plus书中的214页看到这样一句话:
void starbar (void);
“第一个void指的是函数类型:他的意思是该函数没有返回值”
该函数没有返回值是什么意思?
展开
 我来答
双枪老椰子
推荐于2016-07-28 · TA获得超过5.5万个赞
知道大有可为答主
回答量:5797
采纳率:93%
帮助的人:1837万
展开全部
构造函数有没有返回值
它是用来对类对象的一些字段进行初始化用的,所以没有必要有返回值。
在构造函数执行的时候,可以使用this,所以说在执行构造函数的时候,类对象已经存在了,更说明类对象不是构造函数创建的,而是new操作符创建的。
疑问在于如下的代码:
String str = new String(content);
new 的时候调用构造函数,返回给str;
从语法上讲,构造函数不允许有返回值,就算是 void 也不行。
这里的new 是调用构造函数,在堆里分配了一个String对象,并让str指向这个对象。实际上是那个 new 在起作用,而不是()在起作用。
下面是因为原版说明,有兴趣的自己看吧
下面是构造方法的一些特点总结
(1)构造方法的方法名必须与类名相同
(2)构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。
(3)构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。
(4)构造方法不能由编程人员调用,而要系统调用。
(5)一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系统会自动插入一个无参数的默认构 造器,这个构造器不执行任何代码。
(6)构造方法可以重载,以参数的个数,类型,或排列顺序区分。
当然
public Long String(){ }
这个算一个普通的方法,虽然和类重名,但却是合法的普通方法,而不是构造方法了。
如下的类可以正常编译并运行,结果正确。请注意构造方法里面的return;
public class T {
public T() {
return; // 请注意这里的return哦,这是合法的语句
}
public String T() {
return 特殊的方法,和类名相同;
}
public static void main(String[] args) {
System.out.println(new T().T());
}
}
从另一个角度看,正是因为构造函数没有返回值才需要这么写:
String str = new String(content);
否则,如果有返回值,应该如下写:
String str = String(content);
加菲18日220
2014-08-01 · 超过72用户采纳过TA的回答
知道答主
回答量:123
采纳率:66%
帮助的人:123万
展开全部
funcion是函数的英文名字,用这个来声明一个变量,返回值就是返回给调用他的变量用列子吧:function func (a,b) //这段意思是声明一个函数名为func的函数.函数里有两个变量a和b(也可以是值){ //函数的代码 从{开始 从}结束 x=a*b // 可以自己申请的公式.随便申请.a+b a%b都可以 return x //返回x的值 也就是返回到调用这条公式的变量} //函数代码结束 var num=func(1,2) //这就是变量num调用了func这个函数,继承func里的公式,并给出a=1,b=2.而上面的函数返回值就返回这里.调用函数func里公式后变量num的值就是a*b也就是2*3 所以num的值就是6
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3f4aed8117
推荐于2018-03-01 · TA获得超过125个赞
知道答主
回答量:22
采纳率:0%
帮助的人:11.7万
展开全部
如果有返回值,那么你在调用这个函数的时候 直接就可以用来给变量赋值,那么赋值的数就是你的返回值。

比如你的函数的功能是 两数相加 plus(a,b)他的返回值是a+b,
那么你调用这个函数的时候c=plus(a,b)得到的c的值就是plus的返回值

如果没有返回值的话,那么你调用这个函数,只会进行里面定义的一些操作,但是不会返回一个确切的数字
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
审思慎行
2014-08-01
知道答主
回答量:18
采纳率:0%
帮助的人:10.9万
展开全部
这是与函数有返回值对应的,比如int starbar(void);这个函数返回一个整数
那么可以这样调用
int ret = starbar();
如果没有返回值,则不能这样用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mf...1@sohu.com
2018-02-28 · TA获得超过245个赞
知道小有建树答主
回答量:269
采纳率:0%
帮助的人:57.2万
展开全部
有返回值就是将你的函数值返回给主函数中,无返回值就是不需要返回给主函数,一般不用return
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式