📜  C测验– 105 |问题3

📅  最后修改于: 2021-06-29 22:41:26             🧑  作者: Mango

当我们编译并运行该程序时会发生什么?

#include "stdio.h"
int main()
{
  int i; 
  goto LOOP;
  for (i = 0 ; i < 10 ; i++)
  {
     printf("GeeksQuiz\n");
     LOOP:
      break;
  }
  return 0;
}

(A)没有编译错误,它会打印GeeksQuiz 10次,因为goto标签LOOP不会生效。
(B)没有编译错误,它只会打印GeeksQuiz一次,因为goto标签LOOP仅在进入for循环后才会出现在图片中。
(C)编译错误,因为在C中的for循环中不允许任何goto标签。
(D)没有编译错误,但是由于goto语句的不确定行为,程序的行为将取决于C编译器。
(E)没有编译错误,它不会打印任何内容。答案: (E)
说明: goto语句可以在函数内部使用,并且其标签可以指向同一函数的任何位置。在这里,对于循环表达式,即i = 0且i <10和i ++根本不会执行。因为goto会使程序直接在for循环内跳转。然后从那里执行break语句,该语句将退出循环。因此,实际上什么也不会打印。
这个问题的测验

想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。