使用void与printf函数

时间:2011-07-13 19:23:37

标签: c

#include <stdio.h>

char char1;     /* first character */
char char2;     /* second character */
char char3;     /* third character */

main()
{

  char1 = 'A';
  char2 = 'B';
  char3 = 'C';
  (void)printf("%c%c%c reversed is %c%c%c\n",
        char1, char2, char3,
        char3, char2, char1);
  return (0);
}

为什么我们在printf函数中使用void? 什么是使用void与printf函数?

6 个答案:

答案 0 :(得分:11)

printf返回大多数人大多数时间不使用的值。一些工具(例如'lint')警告这个未使用的返回值,并且抑制此警告的常用方法是添加(void)强制转换。

它在执行方面没有任何作用,它只是告诉你的工具,你知道你很乐意忽略返回值。

答案 1 :(得分:2)

这看起来很旧C代码。

(void)之前的printf演员用于表示您忽略了printf的返回值。没有必要。

答案 2 :(得分:2)

(void)foo()表示我们忽略了对foo的调用的返回值(在本例中为printf)。

取决于编译器和警告级别设置,忽略返回值将触发警告。有时人们使用编译器的“将警告视为错误”选项,然后为了编译代码,必须使用或明确忽略被调用函数的返回值,如本例所示。

只有在设置非常严格的情况下,才能在通常的设置中使用此功能。

答案 3 :(得分:0)

我想说是编码员努力提醒任何阅读代码的人都忽略了printf的返回值。由于任何技术原因,它根本不是必需的。

答案 4 :(得分:0)

这是将Printf的返回值类型转换为空。这可以用于摆脱编译器警告,或者它可以简单地使代码的读者知道编写者知道返回永远不会被使用。

答案 5 :(得分:-2)

<div id="nav-top"> Navigation</div> <div id="nav-sub"> Subnavigation</div> <ul class="left-nav"> <li>Item</li> <li>Item</li> <li>Item</li> <li>Item</li> <li>Item</li> </ul> <div class="content"> <h1>Scrollable Content</h1> <div class="lorem"> </div> <div class="lorem"> </div> <div class="lorem"> </div> <div class="lorem"> </div> <div class="lorem"> </div> </div>

哪种数据类型是?

您需要选择数据类型:

main()

int main() { return 0 } 是无效的...

正确编码:

printf