为什么我的 DLL 函数不能正确返回它的返回值?

StarLookForing 2005-03-08 02:49:07
int __stdcall Max(int x,int y)
{
int RetValue; // 第一行
RetValue = x>y?x:y; // 第二行
return RetValue; // 第三行
}

结果我调用:Max(3,9)
第三行却显示 RetValue 是213988这个莫名其妙的数字,怎么回事?
...全文
117 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
songsu 2005-03-16
  • 打赏
  • 举报
回复
(1)可以试着先初始一下RetValue的值

(2)可能传入的值太大了!!
MaxWind 2005-03-16
  • 打赏
  • 举报
回复
>> 调试时黄色箭头所指的语句是将要执行的语句,当前还没执行。
对的啊

你到exe中测试看看
linribo 2005-03-16
  • 打赏
  • 举报
回复
晕,想像力挺丰富!!!
请看清楚了:
结果我调用:Max(3,9)
第三行却显示 RetValue 是213988这个莫名其妙的数字,怎么回事?
说明已经执行到第三行了!
yafizyh 2005-03-13
  • 打赏
  • 举报
回复
调试时黄色箭头所指的语句是将要执行的语句,当前还没执行。
whs1980 2005-03-12
  • 打赏
  • 举报
回复
如果如楼上所说,则你是不是刚调用这个函数,还没有执行到第二行.定义的RetValue在没有被赋值之前肯定是一个任意的值
ahalf 2005-03-09
  • 打赏
  • 举报
回复
估计是调试时的结果
sinall 2005-03-09
  • 打赏
  • 举报
回复
“第三行却显示 RetValue 是213988这个莫名其妙的数字”是你自己调试到Max函数内发现的,还是通过Max的返回值得到的结论???

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧