社区
C++ 语言
帖子详情
求助,有返回值的函数,但在代码里直接return
chxy85
2011-09-13 09:50:54
int fun()
{
return;
}
这种情况似乎会返回随机值,请问原理是什么。从哪取的值?
...全文
233
16
打赏
收藏
求助,有返回值的函数,但在代码里直接return
int fun() { return; } 这种情况似乎会返回随机值,请问原理是什么。从哪取的值?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
chxy85
2011-09-13
打赏
举报
回复
可以确定,是从eax寄存器取的值,不过对这块不是很清楚,还得学习下啊
小笨熊
2011-09-13
打赏
举报
回复
这个问题。。。
辰岡墨竹
2011-09-13
打赏
举报
回复
如果不写return的话,对于int型的会自动返回0。
但是如果写了return不写值的话,C编译器一般用EAX寄存器作为返回值。
不知道EAX的话,去看80x86 CPU架构。
yuyan_linger
2011-09-13
打赏
举报
回复
c++编译器肯定报错的 但是如果是下面这样 就只有警告而已了 至于返回值 debug和release下一般处理是不一样的
int f()
{
if(0)
{ return 1;}
}
chxy85
2011-09-13
打赏
举报
回复
eax值在哪。?。eax值在哪。?。
worldy
2011-09-13
打赏
举报
回复
原型定义有返回值得情况下,编译器会在栈空间里确定一个位置返回数据(即将返回值拷贝到该位置)
当你使用Return aVal 返回,则会将aVal拷贝到返回位置里,使用Return 则不会拷贝值到该返回位置
那么,该返回位置上的内容将是不定的,原来是什么就是什么,所以你的到的是个随机数!
jackyjkchen
2011-09-13
打赏
举报
回复
[Quote=引用 7 楼 maxwell 的回复:]
我记得好像在vc6下c++代码不写return不报错,有次改别人的代码发现是一个分支漏了return。
[/Quote]
分支遗漏只会给警告
luciferisnotsatan
2011-09-13
打赏
举报
回复
[Quote=引用 5 楼 jackyjkchen 的回复:]
C的话这个函数不写return都没事,C++会错
也不是随机值,就是原来eax的值,x86的返回值小于4字节就存在eax里
[/Quote]
++
语言规定就是这样
vc里,文件名后缀.c,按C来编。后缀.cpp,按C++编
zyc_glboy
2011-09-13
打赏
举报
回复
没这么写过,要是这个函数没什么用干嘛不返回0
或者返回值设为void
Maxwell
2011-09-13
打赏
举报
回复
我记得好像在vc6下c++代码不写return不报错,有次改别人的代码发现是一个分支漏了return。
healer_kx
2011-09-13
打赏
举报
回复
最好报错! C#里面有一个路径你不返回值都会报错呢。
jackyjkchen
2011-09-13
打赏
举报
回复
C的话这个函数不写return都没事,C++会错
也不是随机值,就是原来eax的值,x86的返回值小于4字节就存在eax里
jackyjkchen
2011-09-13
打赏
举报
回复
C++会报错吧
C不记得了,好像可以
至善者善之敌
2011-09-13
打赏
举报
回复
一般VOID类型函数才返回return;
AnwJiango
2011-09-13
打赏
举报
回复
确定能编译过 ?
turing-complete
2011-09-13
打赏
举报
回复
发两遍这个问题,值得投诉一下了,着实让人纠结,CSDN怎么搞的?
全国计算机二级C改错题总结.pdf
全国计算机二级C改错题总结.pdf
关于perl教程perl教程perl教程
perl教程perl教程perl教程perl教程perl教程perl教程perlperl教程教程
Perl语言入门pdf
perl语言学习入门。perl语言入门第四版。作者:Brian d foy, Tom phoenix,Randal.Schartz
JAVA实验报告心得.pdf
。。。
(完整版)高级语言程序设计环节考核指导(doc8页)(正式版).doc
(完整版)高级语言程序设计环节考核指导(doc8页)(正式版).doc
C++ 语言
65,189
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章