1 函数调用时前面加(void)
#include <stdio.h>
int main(void)
{
(void)printf("hello");
return 0;
}
函数调用时,前面加个(void)到底是做什么用的?
其实对于程序的编译运行没有任何影响,目的很简单就是让源代码顺利通过一些严格的检查工具的检查如lint。如果返回值不被处理,有些检查工具就会报警告,为了消除这种无所谓的警告,采用了这么一种欺骗手法。
2 变量前(void)
int main(void)
{
int a=0;
(void)a;
return 0;
}
这也是一种伪装手法,对程序没有影响,目的是消除编译器的警告。如果一个变量定义了,但是没有被后续代码使用,编译器就会给出警告,而(void)a;这样的代码虽然啥也没做,却可以消除编译器产生的警告。