中易网

关于void和return的问题。

答案:3  悬赏:0  
解决时间 2021-01-22 16:23
关于void和return的问题。
最佳答案
首先,void main 在新标准中是错误的。 main() 返回一个整型给调用它的程序。int 返回类型是可以省略的(但不建议)。

不返回值并不代表函数没用。它可以输出信息,读写文件等干很多别的事情。在 C 语言中,也可以给函数传递指针参数,让函数修改相应的内存空间数据,这样函数返回后,传入指针所指向的数据已经改变了,变相达到返回结果的目的(这在 C 中很常见)。

没有 return (但函数未声明为 void)时根据不同的系统/编译器,可能返回某些值。比如 gcc 编译器在打开 -Wall 选项时会可能警告你非 void 函数没有返回语句,因为这时函数可能返回的值是非常古怪的:
warning: control reaches end of non-void function

声明为 void 的函数也可以 return,后面不加东西,像这样:
return;
以使函数立即返回(比如函数执行出错,后面的语句不应该被执行)。
全部回答
这个如果说深的话就牵扯到堆栈的问题上了。。。
简单的说,就是在main函数里调用函数的时候会有区别,举个例子:
int demo()
{
int a = 1;
return a;
}
void etc(int a)
{
a = a + 1;
}
void main()
{
int b = demo();//这里给b赋值,可以设想要是demo函数没有返回值的话,这条语句就是错误的。
etc(b);
cout<<b;//这里输出的就是2了
}
主函数输不输出是看你的main里面的cout/printf而不是函数,函数只是帮助你处理数据而已。。。
。。。。。。
这个你要细心的看看入门书籍。
简单来说
C语言所有过程都是函数,函数要求参数来处理,要求返回值来提供结果,在函数声明的时候,函数名前必须有一个类型来表示返回类型,如果没有返回类型,则void。
以main 为例,一般我们用void main 不需要返回值,但有些情况需要了解main的执行结果,这样就用一个int main,用一个整数来标志main返回结果。
对于规定了返回类型,即不是void的函数,必须return 一个类型合宜的值;而对于void类型的函数,你可以不return;但是这里return还有一个作用就是立即中止这个函数并返回,所以void函数可以有return,不允许的说法是错的。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
大家是如何看待网络媒体传播消极负面信息的?
天上的云像什么,有的像…有的像…有的像…
计算机关机键是什么
自粘防水卷材特点主要有哪些?
84年属鼠女和80年属猴男的婚姻相处如何
“十三边形”用英语怎么说?
lol盲僧怎么打千珏 lol盲僧对付千珏方法介绍
厂房生意不好怎么办?
QQ飞车的W键有什么用?
席梦思床的拼音怎么读
nds SD三国高达的下载地址
伯乐是什么
为什么说冬天教给俄罗斯的比任何一种宗教或哲
头上长了一根金头发
持澳大利亚护照去日本旅游要不要办签证?
推荐资讯
声乐专业投简历的自我介绍怎么写
商务谈判的提问技巧
情人节就要到了,大家送什么样的礼物给热恋中
我该怎么跨越对女人的心理障碍 我2无法认可女
电影《飞龙猛将》的片尾曲叫什么名字
名字中间有点怎么申请facebook
华联旅社(盐城射阳)地址好找么,我有些事要过
几月份去云南旅游最适合,怎么去?
国企都怎么招聘?
明朝在崇祯朝灭亡是偶然还是必然
谁能告诉我怎么样才能治好寒冷性荨麻症吗?谢
怎么发表点评啊?...怎么发表点评啊?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?