社区
C语言
帖子详情
一个return居然跳不出函数?
Sniper167
2007-05-05 10:27:32
void function(void)
{
do
{
if(……)
return FALSE; // 这里的return能跳出function
for(……)
{
……;
if(……)
return TRUE; // 这的return跳不出function,又跳到do那了
}
}while(1);
}
...全文
1925
35
打赏
收藏
一个return居然跳不出函数?
void function(void) { do { if(……) return FALSE; // 这里的return能跳出function for(……) { ……; if(……) return TRUE; // 这的return跳不出function,又跳到do那了 } }while(1); }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
35 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
庄鱼
2007-05-09
打赏
举报
回复
另外,如果for语句没执行,也可能跳不出来
bool function(void)
{
do
{
if(……)
return FALSE; // 这里的return能跳出function
for(……)//--------- for(;;)
{
……;
if(……)//----------- if(true)
return TRUE; // 这的return跳不出function,又跳到do那了
}
}while(1);
}
庄鱼
2007-05-09
打赏
举报
回复
bool function(void)
{
do
{
if(……)
return FALSE; // 这里的return能跳出function
for(……)
{
……;
if(……) //------------- 你将这改成:if(true)return true;试试看
return TRUE; // 这的return跳不出function,又跳到do那了
}
}while(1);
}
missilery
2007-05-09
打赏
举报
回复
修改成
for(……)
{
……;
if(……)
{//记得加上!!!!!!!!!!!!!!!!!!!!
return TRUE;
}//记得加上!!!!!!!!!!!!!!!11
}
}while(1);
}
然后调试!!!
oyd
2007-05-09
打赏
举报
回复
这里告诉你一个秘诀:
你在有问题的语句那里查看汇编代码,看看你的代码究竟被编译器编成了什么样子,一切就真相大白了。
不懂汇编没问题,有C语言一句一句对照
自由建客
2007-05-09
打赏
举报
回复
我见过一个主版有问题,程序老是出错的,居然还不是太随机的错误。
yach_jerry
2007-05-08
打赏
举报
回复
bool function(void)
=====================
改过之后,还是有错.可以单步调试,找出原因.建议程序发上来,大家一起看.
hioucia
2007-05-08
打赏
举报
回复
把false直接去掉,return 语句就类似break语句了!应该就可以,反正返回值不会被使用
rendonglin2007
2007-05-08
打赏
举报
回复
为什么是return?function不是void的吗?
kunder
2007-05-07
打赏
举报
回复
至少两种可能:
1.编译有问题
2.没有执行到return语句
调试以下就知道了
277894613
2007-05-07
打赏
举报
回复
删除nbc重新编译
liqiang123abc
2007-05-07
打赏
举报
回复
超级菜鸟?!
archer_hao
2007-05-07
打赏
举报
回复
极有可能是代码和可执行程序对应不上,PDB的问题,rebuild一次
starair
2007-05-07
打赏
举报
回复
第二个return没有执行,死循环
z403617596
2007-05-06
打赏
举报
回复
看看就知道前后矛盾啊
nov30th
2007-05-06
打赏
举报
回复
楼上的,C怎么学的。
return 是返回,break是跳出循环。
IT_zen
2007-05-06
打赏
举报
回复
return TRUE; // 这的return跳不出function,又跳到do那了
这个只是跳出了for循环
laiwusheng
2007-05-06
打赏
举报
回复
bool function(void)
{
do
{
if(……)
return -1; // 这里的return能跳出function
for(……)
{
……;
if(……)
return 1; // 这的return跳不出function,又跳到do那了
}
}while(1);
return 0;
}
thecorr
2007-05-06
打赏
举报
回复
编译器的问题?
mdzhao
2007-05-06
打赏
举报
回复
以前遇到过类似情况,函数返回时跳到毫不相干的函数里面去了!
在改正了一个数组越界问题后就好了,估计是刚好破坏了调用堆栈造成的
he_ji001
2007-05-06
打赏
举报
回复
晕,,,,自己多调试,看看,,还发到网上来
加载更多回复(15)
php基础入门
和同学们一起学习回忆以前的知识,第一次上课,大家别笑啊入门指引1、php简介二、安装与配置php安装三、PHP语言基础 PHP执行周期PHP基本语法变量常量数据类型类型转换运算符表达式 四、控制结构 概述顺序结构分支结构循环结构breakcontinueinclude和require
return
五、
函数
函数
概念用户自定义
函数
可变
函数
函数
的参数
函数
体及
函数
返回值
函数
的调用(作用域)匿名
函数
局部静态变量递归
函数
迭代..............................................................................
js
函数
包裹forEach中使用
return
跳不出
外层
函数
在forEach中使用
return
只会跳出循环,然后进入到
函数
中 let a = 1, b = 1 let c = 2, d = 2 let e = 3, f = 3 let list = [1, 2, 3, 4, 5, 6, 7] function foo() { if (a === b) { list.forEach(item => { if (item === 3) { co
forEach中执行
return
无法跳出
函数
的解决方案
遇到
一个
很奇葩的问题,只怪自己基础不牢靠。 在写提交
函数
时对字段是否填入做
一个
判断。要求每
一个
字段都填如以后才可以触发保存
函数
,否则不执行保存
函数
。 按照自己的习惯,我就顺手写了forEach循环,代码如下: handleSub() { this.fields.forEach((v) => { if (v.orderid === 0) { this.$message.err...
chatgpt赋能python:为什么Python程序不报错,也不出结果?
不报错不出结果是指程序在运行时没有报任何错误,但也没有输出任何结果。def add_nums(a , b) : # 通过注释掉下面这一行来模拟不报错的情况 #
return
a + b add_nums(2 , 3)运行该程序,没有任何输出结果。本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT,应该选择拥抱而不是抗拒,未来属于“会用”AI的人。
js踩坑 foreach中
return
不能跳出循环,for中才可以
js踩坑 foreach中
return
不能跳出循环,for中才可以
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章