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

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;這樣的代碼雖然啥也沒做,卻可以消除編譯器產生的警告。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章