社区
C++ 语言
帖子详情
求助,有返回值的函数,但在代码里直接return
chxy85
2011-09-13 09:50:54
int fun()
{
return;
}
这种情况似乎会返回随机值,请问原理是什么。从哪取的值?
...全文
242
16
打赏
收藏
求助,有返回值的函数,但在代码里直接return
int fun() { return; } 这种情况似乎会返回随机值,请问原理是什么。从哪取的值?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
-
函数
类型:无
返回值
的
函数
应声明为`void`,有
返回值
的
函数
应与`
return
`语句后的类型一致。 2. **条件语句**: - `if`和`while`语句的括号:条件表达式通常应使用括号括起来。 - 条件表达式错误:检查指针...
关于perl教程perl教程perl教程
- **
返回值
**:子程序可以通过`
return
`语句返回一个值。 - **参数传递**:通过子程序名称后跟括号内的参数列表来传递参数。 - **局部变量**:使用`my`关键字声明局部变量,增强
代码
的安全性和可维护性。 #### 八、...
Perl语言入门pdf
- 上述
代码
通过`print`
函数
输出了一行文本。 - **Perl程序的执行方式:** - Perl是一种解释型语言,可以
直接
运行而无需编译。 #### 三、Perl基础知识 **2.1 数字** - **数值类型:** - Perl支持整数和浮点数两...
JAVA实验报告心得.pdf
方法的
返回值
通过
return
语句实现,对于非void方法尤其重要。通过编写和调用方法,我更加熟练地掌握了信息传递和返回的技巧。 实验5关注的是简单类型数组的创建和操作。在这个实验中,我学会了如何处理数字到数组的...
C++ 语言
65,208
社区成员
250,517
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章