(void)printf("hello world"); int a=2; void(a);中的(void)有什么用?

来源:互联网 发布:淘宝专业产品拍摄教程 编辑:程序博客网 时间:2024/05/16 02:03

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;这样的代码虽然啥也没做,却可以消除编译器产生的警告。

0 0
原创粉丝点击