gpt4 book ai didi

c - 什么是在 .c 文件上显然无所事事的中间代码块?

转载 作者:太空宇宙 更新时间:2023-11-04 00:16:48 24 4
gpt4 key购买 nike

这段代码是什么意思?具体来说,花括号在做什么?它们不在函数的中间。

yyerror(s) char * s;

{
fputs(s,stderr), putc('\n',stderr);
}

最佳答案

这看起来像 K&R 语法。在标准 C 中,它看起来像:

int yyerror(char *s)
{
fputs(s,stderr), putc('\n',stderr);
}

在这种情况下,函数体中的逗号运算符实际上也是一个空操作。您可以轻松地将其替换为分号,并获得看起来更熟悉(和等效)的代码:

int yyerror(char *s)
{
fputs(s,stderr);
putc('\n',stderr);
}

请注意,默认情况下,假定此函数返回 int,因为未指定返回类型,但该函数不包含 return 语句。这意味着您不应在程序中的任何地方依赖此函数的返回值。

关于c - 什么是在 .c 文件上显然无所事事的中间代码块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15143562/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com