分享

89c52 c程序跳转

 永恒0852 2012-04-12
goto
跳转到指定标签位置,不建议用
例 label:println("hello!");
goto label;//子函数体跳转

goto语句的作用是:当程序执行到goto语句时,会自动记住后面的标号,然后往下查找,自动跳到下一个标号处,之间的程序不再执行.但只有在同一个函数中才有效.
在C语言中,可以在任意语句前加上标号.如:
{int a,b,c
a=1; b=2;
goto flagl; // -- 一
c=a+b;
flagl: c=10 // -- 二  
printf( "c=%n",c )
}
执行到一时程序自动跳到二,最后的答案是10而不是3.
我建议初学者不要滥用这个语句!容易造成死循环。


setjmp/longjmp非本地程序跳转
C语言中的goto语句用于程序流程的跳转,尽管不推荐使用goto语句,但在嵌入式系统中为了提高程序的效率,goto语句还是可以使用的。goto语句实现的程序的本地跳转(local goto),你不能从一个函数中跳转到另一个函数中。我们 可以使用setjmp/longjmp实现程序的非本地跳转(non-local goto)。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多