单片机C语言中goto可以这样用吗?

单片机C语言中goto可以这样用吗?,第1张

goto语句只能在当前函数跳转,不能跨函数使用.

你需要跳到分支子程序中去执行,貌似只能是通过调用子程序的方法,然后把自身的程序竖悉御结束,如:

void

keystoke()

{

switch(hyrom)

{

case

0x15:

shifen()

return/余岩/这里改用陆让return,直接结束

case

0x08:

alsetup()

return

在 C 语言中,可以使用函数的返回值来实烂卖世现从子程序中直接跳转到其他地方。

例配喊如,您可以在 R_NEED_MAN_DO 子函数中添加一个 if 语句,判断 PLC_GI0 的值是否为 88,如果是,则返回一个特定的值,用于指示在主函数中跳转到其他位置。您可以使用 return 语句来实现这一点。示例代码如下:

int R_NEED_MAN_DO() {

// do something...

if (PLC_GI0 == 88) {

return 1

}

// do something else...

}

然后,在您的主函数中,可以根据 R_NEED_MAN_DO 的返回值来实现跳转。例如,如果返回值为 1,则可以使用 goto 语句跳转到指定的位置。示例代码如下:

int main() {

// do something...

int result = R_NEED_MAN_DO()

if (result == 1) {

goto my_label

}

// do something else...

my_label:

// do something after jump...

}

请注意,在大多数情况下,使用 goto 语句来实现跳转是不推荐饥肢的,因为它会导致代码难以维护和理解。在实际编写代码时,应尽量避免使用 goto 语句,并尝试使用其他结构来控制程序流程。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12320210.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存