问一个自己觉的奇怪的问题(return问题)

ilove8 2005-06-10 11:15:24
请大家分析一下,什么情况,用了"return;"语句,返回不了上一级函数。

比如下面的函数,return 以后怎么还在menu()函数里,真奇怪呀。请大家分析分析情况,谢谢!
void menu()
{
.
.
ret=key();
if (ret==F9)
return;
.
.
}
...全文
218 34 打赏 收藏 转发到动态 举报
写回复
用AI写文章
34 条回复
切换为时间正序
请发表友善的回复…
发表回复
virm 2005-07-27
  • 打赏
  • 举报
回复
可可,不错,有心人
我很少见到自己总结的帖子
这样大家都进步
tuxw 2005-06-11
  • 打赏
  • 举报
回复

关键在 key() 返回的是什么,F9 的宏定义是怎样的
liem 2005-06-11
  • 打赏
  • 举报
回复
F9是什么?从语法角度来看是个变量(或是个宏),那么其值是什么?
如果是功能键F9,当然是不行的,你需要测试一下你的函数key()按下功能键F9后返回的是什么?
wq06100610 2005-06-11
  • 打赏
  • 举报
回复
F9是不是被定义0
#define F9 0???
wq06100610 2005-06-11
  • 打赏
  • 举报
回复
ret=F9?ret==F9
virm 2005-06-11
  • 打赏
  • 举报
回复
我晕,你的F9在TC是继续运行,当然出来又进去啦,不要和调试环境冲突嘛
ilove8 2005-06-11
  • 打赏
  • 举报
回复
谢谢大家参与
我发现了ret返回的值有点问题
ret=F9是本人的笔误,第一贴里就是 ret==F9

原因1:F9是功能键,返回不了我需要的值
原因2:思维定势 ret=getkey(),返回的KEY_1(同样一个按键,举例。。。)
ret=key(),返回的13
所以没有扑捉到返回值。这是我对程序本身了解不多呀。

谢谢大家帮助。
beepbug 2005-06-11
  • 打赏
  • 举报
回复
你以为,你按下F9键,ret==F9就为Ture?你把这个搞错了。去翻翻书,你的开发平台里,F9如何描述。
haitingr 2005-06-11
  • 打赏
  • 举报
回复
把F9整好,是什么东西?

我还没有记得按键返回一个f9呢
dengyiwolf 2005-06-11
  • 打赏
  • 举报
回复
同意楼上的,if(应该用比较) 用赋值可能达不到意想效果
mostideal 2005-06-11
  • 打赏
  • 举报
回复
if(ret=F9) //赋值
------
if(ret==F9) //比较
zhousqy 2005-06-11
  • 打赏
  • 举报
回复
你写得是赋值。
zhousqy 2005-06-11
  • 打赏
  • 举报
回复
if(ret=F9)
------
if(ret==F9)
msgsnd 2005-06-11
  • 打赏
  • 举报
回复
if(0)return
msgsnd 2005-06-11
  • 打赏
  • 举报
回复
#define F9 0
msgsnd 2005-06-11
  • 打赏
  • 举报
回复
if(ret=F9)
if(ret==F9)
「已注销」 2005-06-10
  • 打赏
  • 举报
回复
the same..
ilove8 2005-06-10
  • 打赏
  • 举报
回复
好的,我把大家方法和分析 明天经过实验 做出看看有没有什么result.
anyway, Thanks a lot! and happy dragon boat festival!
「已注销」 2005-06-10
  • 打赏
  • 举报
回复
按照正常的语法分析。。是一定会退出去的。。唯一的错误就是你的代码有问题。。使得根本执行不到return。。。
「已注销」 2005-06-10
  • 打赏
  • 举报
回复
if(ret=F9)
{
printf ("hello");//加上这句,测试一下会不会输出。。
return;
}
加载更多回复(14)

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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