-->
当前位置:首页 > 题库 > 正文内容

主观题:h0005. 应用题

Luz3年前 (2022-04-07)题库505
一个C语言编译器编译下面的函数gcd()时,报告parse error before ‘else’。这是因为else的前面少了一个分号。但是如果第一个注释
/* then part */
误写成
/* then part
那么该编译器发现不了遗漏分号的错误。这是为什么?
long gcd(p,q)
long p,q;
{
if (p%q == 0)
/* then part * /
return q
else
/* else part */
return gcd(q, p%q);
}







答案:解答:此时编译器认为
/* then part
return q
else
/* else part */
是程序的注释,因此它不可能再发现else 前面的语法错误。
-------------4分

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。