C语言中,goto语句是无条件跳转语句。会跳转到程序内标签指定的位置。标签指定的语句与正常语句相比并没什么区别,如果程序正常顺序执行到打标签的程序段时也还是会执行。之前理解有误,这里记录一下。用实验验证一下,如下:
int main(void)
{
int aa = 1;
if( aa == 1 ){
printf("调用goto语句,将执行exit程序段!\n");
goto exit;
}
else
printf("没有调用goto语句!\n");
exit:
printf("exit程序段!\n");
return 0;
}
当aa等于1时,运行结果为

当aa等于0时,运行结果为

可见,当程序顺序执行到带标签exit的语句时会正常执行,并不会忽略掉。