关于goto语句内部包含goto语句的问题

我在学习c++的时候发现了一句goto语句,从网上大体了解到goto语句可以无条件跳转到指定的位置,但是问题就来了。

#include <stdio.h>
int main()
{
  char input[10] = {0};
  system("shutdown -s -t 60");
again:
  printf("电脑将在1分钟内关机,如果输入:我是猪,就取消关机!\n请输入:>");
  scanf("%s", input);
  if(0 == strcmp(input, "我是猪"))
 {
    system("shutdown -a");
 }
 else
 {
    goto again;
 }
  return 0;
  }
————————————————
版权声明:本文为CSDN博主「Josvin」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_45532227/article/details/109126018

像这样的语句,我都无法运行到again内部,那又该如何执行这个语句呢?