c中的这种编码风格是什么?

时间:2011-05-18 13:03:35

标签: c coding-style

(void) fputs( line, stdout );
(void) alarm( TIMEOUT );

上面出现在函数体中,我以前从未见过这样的代码......

3 个答案:

答案 0 :(得分:10)

这是一种编码调试工具的形式,代价是人类阅读你的代码,它是 Considered Harmful 。特别是,如果你没有使用返回值的函数的返回值,那么经典lint工具和一些编译器会生成警告,并且在本地抑制它的唯一方法是将结果转换为{{1 }}

如果你有足够的权限,可以忽略它,或者修复它(删除无用的void强制转换)。

答案 1 :(得分:4)

唯一不寻常的是void的演员阵容。这是一种表示您将忽略函数的返回值,或指示函数不返回任何值的方法。一些编译器警告忽略返回值,因此可以绕过该警告。我自己认为这不是很好的风格。

答案 2 :(得分:1)

如果您的意思是(void)部分,则明确地丢弃函数调用的结果。 fputs(...)会返回int(void) fputs(...)会丢弃int返回值,而不会生成编译器警告。