<分区>
我将使用我想出的以下示例来说明我心中的疑问。
考虑下面编写的 C++ 代码:
#include<iostream.h>
void main()
{
cout<<"LULZ \n";
cout<<"\n Enter anything\n";
int a;
cin>>a;
goto noexistence;
}
现在,我的问题是,如果对这段代码进行编译,然后在不同的情况下进行解释,最终用户的输出会有何不同?当我们编译它时,它会给出一个编译时错误,并会提示没有这样的标签存在(noexistence)。
但是解释这段代码会发生什么呢?我不知道那里是否有 C/C++ 的解释器(我从 CERN 听说过 CINT ROOT,但我不知道如何操作它)但从理论上讲,解释如何在标签不存在的情况下发现这种谬误定义?
我问这个问题是因为我读过很多次解释,“代码是逐行执行的”。我永远无法理解“逐行”的概念。任何人都可以对此有所了解,因为这个问题现在正在困扰着我呵呵。