C语言问题.VOID既然不返回任何值,它有何用处?

如题所述

其实被调用的函数返回给调用它的函数的不仅仅是函数值而已,还有控制权。
所以像一个没有返回值得函数sun();
如果在main()
里面调用它sun();
它返回给main的是控制权。
C语言的void其实起到的是一个隐藏这个事实的作用,同时也起到一个统一函数声明形式标准的作用。标准嘛,就得统一。这是后来的标准里面才明确提出的,如果一个函数没有返回值,它必须返回void,或者一个函数没有参数,需要把它的参数声明为void。但是刚开始C语言里面是可以直接写sun();作为函数声明的。现在的编译器由于遵循后来的标准,你写sun();这样的函数声明,虽然不算错,但是它会发出警告。提示你你的函数没有返回值,没有参数。这时,你继续执行当然是没有问题的,只不过如果你不想再看到警告的话,你把你的函数声明加上void,
void sun(void);
编译器也就不会在发出警告了.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2006-12-16
其实在C中出现没有返回值的函数,主要的考虑是同那些区分函数和过程语言有一些类似之处而已。在那些语言中,如basic语言,函数有返回值,而过程无返回值。C语言是函数语言,并不区分函数和过程。而且有返回值的函数要比无返回值的函数有更多的优点。因为它可以多传回一个数值,至少是bool型,可以判断函数成功与否。在C/C++中你可以定义都有返回值的函数,而不会产生任何问题。

可以这样说,在C/C++中,出现返回值为void的函数,纯粹出自哲学上的考虑!!!
第2个回答  2006-12-16
VOID不返回值,可他可以调用其他的函数,并可以修改,或给其他的函数赋值
第3个回答  2006-12-16
void 表示无返回值,但是函数是必须声明其是否有返回值的,如果有就要声明,没有也要声明,不然的话系统就会乱套,知道吗,就是出现不稳定的因素啊,老兄,明白没?
第4个回答  2006-12-16
void 是表示不返回函数值

可是有些函数是需要返回函数值的,那时就不能再用VOID了

所以,这是区别,现在明白了吗?
相似回答