关于C语言中的“ goto”的一些问题

只是一个小菜鸟

我有一些疑问。这goto是我的代码:

int main(){ 
    int a = 1;
    if (a<0)
        goto out;
    out:
    printf("out");
    return 1;
}

问题是,无论值a多少(例如:a=-1a=0),out都可能打印出来。
谁能告诉我原因,非常感谢。

brw59

无论是否输入'if'语句,下一个语句都是printf语句。

如果跳过“ if语句”,则接下来出现printf,如果输入了“ if语句”,则转到printf。无论哪种方式,该语句都会显示。

“输出”有点像程序集要跟踪的索引。如果goto'out'不存在,则printf将仍然存在,只是没有编译器跟踪的内存位置。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章