用goto出了问题。

flylonginsky1 2005-09-28 02:59:46

编译不了,提示:
Goto bypasses initialization of a local variable.

不知道什么意思?
...全文
306 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
myazrael 2005-09-29
  • 打赏
  • 举报
回复
goto哪本书上都不推荐使用,我学了2年到现在也没用过goto指令,你可以仔细思考一下你的问题应该可以用其他方法更简单的解决你的问题的.

或者你可以在函数一开始就声明之中必须用的变量
void test(int n)
{
int a,b,c;//只是一个临时变量而已,或用指针临时指向那个地址来调用
}
sjf331 2005-09-29
  • 打赏
  • 举报
回复
你用goto后,错过了一个局部变量的定义.
stephen_1984 2005-09-29
  • 打赏
  • 举报
回复
goto语句除了在确实能简化程序运行时才用,否则大部分都是用循环语句代替的,因为goto语句在现代软件工程观点来说,十分影响软件的结构化设计,不利于软件的更新。
wuqing0811 2005-09-29
  • 打赏
  • 举报
回复
还是尽量不要用goto了.代码长了,自己都不知道goto到哪了!别人看更费劲.
flylonginsky1 2005-09-29
  • 打赏
  • 举报
回复
既然这样,我是不是可以程序运行一次后再使用goto?这样就能保证变量都初始化了吧?
antijpn 2005-09-28
  • 打赏
  • 举报
回复
这个应该仅仅是警告而已吧?一般来说将其当作错误的编译器不多。

同样的后果还可以由switch-case产生……
squall___3 2005-09-28
  • 打赏
  • 举报
回复
用goto 是不是会出现死循环的??
Flood1984 2005-09-28
  • 打赏
  • 举报
回复
goto跳过了变量的初始化.
iamltd 2005-09-28
  • 打赏
  • 举报
回复
你跳到变量定义以前去了?
flylonginsky1 2005-09-28
  • 打赏
  • 举报
回复
很普通啊。在一个子函数里使用goto
jsjjms 2005-09-28
  • 打赏
  • 举报
回复
有代码吗?看一下就知道了。
flylonginsky1 2005-09-28
  • 打赏
  • 举报
回复
goto向后移动还是没关系的,我就是要跳过中间一段代码。。goto用在if语句中的。
jsjjms 2005-09-28
  • 打赏
  • 举报
回复
很少用goto..

69,371

社区成员

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

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