我有一些疑问。这goto
是我的代码:
int main(){
int a = 1;
if (a<0)
goto out;
out:
printf("out");
return 1;
}
问题是,无论值a
是多少(例如:a=-1
或a=0
),out
都可能打印出来。
谁能告诉我原因,非常感谢。
无论是否输入'if'语句,下一个语句都是printf语句。
如果跳过“ if语句”,则接下来出现printf,如果输入了“ if语句”,则转到printf。无论哪种方式,该语句都会显示。
“输出”有点像程序集要跟踪的索引。如果goto'out'不存在,则printf将仍然存在,只是没有编译器跟踪的内存位置。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句