你在main函數(shù)中的這一行語句void equation(double a,double b,double c);是函數(shù)的聲明不是調(diào)用改為equation(a,b,c);就行了
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:申請(qǐng)域名、網(wǎng)絡(luò)空間、營銷軟件、網(wǎng)站建設(shè)、殷都網(wǎng)站維護(hù)、網(wǎng)站推廣。
main 函數(shù)的返回值用于說明程序的退出狀態(tài)。如果返回 0,則代表程序正常退出,否則代表程序異常退出。
在 C89中,main() 是可以接受void返回值的。在最新的 C99 標(biāo)準(zhǔn)中,只有以下兩種定義方式是正確的:
int main( void )
int main( int argc, char *argv[] )
如果你不需要從命令行中獲取參數(shù),請(qǐng)用 int main( void ) ;否則請(qǐng)用 int main( int argc, char *argv[] ) 。main 函數(shù)的返回值類型必須是 int ,這樣返回值才能傳遞給操作系統(tǒng)。
如果 main 函數(shù)的最后沒有寫return 語句的話,C99 規(guī)定編譯器要自動(dòng)在生成的目標(biāo)文件中(如 exe 文件)加入 return 0 ,表示程序正常退出。注意,vc6 不會(huì)在生成的目標(biāo)文件中加入return 0 .不過,gcc3.2(Linux 下的 C 編譯器)會(huì)在生成的目標(biāo)文件中加入return 0 。
【void的含義】
void的字面意思是“無類型”,void *則為“無類型指針”,void *可以指向任何類型的數(shù)據(jù)。
void幾乎只有“注釋”和限制程序的作用,因?yàn)閺膩頉]有人會(huì)定義一個(gè)void變量, void真正發(fā)揮的【作用】在于:
(1) 對(duì)函數(shù)返回的限定;
(2) 對(duì)函數(shù)參數(shù)的限定。
我們知道,在定義函數(shù)時(shí),加在函數(shù)名前的“void”表示該函數(shù)沒有返回值。但在調(diào)用時(shí),在函數(shù)名前加“(void)”的作用又是什么呢?
最明顯的一點(diǎn)就是表示程序并不關(guān)心調(diào)用該函數(shù)后的返回值是什么,比如函數(shù)strcpy,我們直接用“strcpy(des_str, src_str);”這樣的形式來調(diào)用?!?void)strcpy(des_str, src_str);”這樣的形式還真不多見!
原因是這種寫法不針對(duì)人,也不針對(duì)編譯器,而是針對(duì)靜態(tài)代碼檢測(cè)工具,它會(huì)把函數(shù)返回值作為一項(xiàng)檢測(cè)標(biāo)準(zhǔn)。在某些大公司,比較重視代碼規(guī)范,若在代碼靜態(tài)檢測(cè)時(shí)需要檢測(cè)該項(xiàng)。此時(shí)就需要用在被調(diào)用的函數(shù)(名)前加上“(void)”這種形式來告訴靜態(tài)代碼檢測(cè)工具程序并非沒有處理該函數(shù)的返回值,而是該處確實(shí)不需要處理它(該函數(shù)的返回值),不需要再對(duì)該處代碼作此項(xiàng)檢測(cè)。其實(shí)這和我們?cè)诖a中使用“#pragma warning (disable: XXXX)”的道理是一樣的。
l例如: 統(tǒng)計(jì)整數(shù)里面各位 1 2 3 的個(gè)數(shù)
//***************************************************
#
include stdio.h
int c1, c2, c3;
void fun(long n)
{
c1 = c2 = c3 = 0;
while (n != 0)
{
switch (n % 10)
{ case 1:
c1++;
break;
case 2:
c2++;
break;
case 3:
c3++;
}
n /= 10;
}
}
int main()
{ long n;
scanf("%ld", n); //輸入整數(shù)n
fun(n); //調(diào)用自定義函數(shù)fun
printf("C1=%d C2=%d C3=%d\n", c1, c2, c3); //輸出
}
void 被翻譯為"無類型",相應(yīng)的void *?為"無類型指針"。常用在程序編寫中對(duì)定義函數(shù)的參數(shù)類型、返回值、函數(shù)中指針類型進(jìn)行聲明。
void 的作用
1.對(duì)函數(shù)返回的限定,這種情況我們比較常見。
2.對(duì)函數(shù)參數(shù)的限定,這種情況也是比較常見的。
一般我們常見的就是這兩種情況:
(1)當(dāng)函數(shù)不需要返回值值時(shí),必須使用void限定,這就是我們所說的第一種情況。例如:void func(int a,char *b)。
(2)0當(dāng)函數(shù)不允許接受參數(shù)時(shí),必須使用void限定,這就是我們所說的第二種情況。例如:int func(void)。
擴(kuò)展資料:
2011年10月12日,C語言之父丹尼斯·里奇辭世,在眾多的國際互動(dòng)論壇上,計(jì)算機(jī)愛好者們以特有的方式紀(jì)念這位編程語言的重要奠基人。許多網(wǎng)友的發(fā)帖中沒有片言只字,僅僅留下一個(gè)分號(hào)“;”。
在日益紛繁復(fù)雜的程序設(shè)計(jì)語言王國中,C語言因其簡(jiǎn)潔、有效、通用的特性而始終占據(jù)一席之地。被譽(yù)為“C語言之父”,同時(shí)也是操作系統(tǒng)Unix之父的C語言發(fā)明人之一——丹尼斯·里奇10月9日以70歲之齡辭世。
盡管通過Unix拿獎(jiǎng)拿到手軟,但令里奇引起最大關(guān)注和反響的則是C語言的問世。1999年,里奇和湯普遜為發(fā)展C語言和Unix操作系統(tǒng)一起獲得了美國國家技術(shù)獎(jiǎng)?wù)隆?/p>
參考資料:
百度百科-Void
百度百科-C語言關(guān)鍵字
1、C語言調(diào)用完void函數(shù)后如何將值返回主函數(shù)實(shí)現(xiàn)輸出的呢?
答:因?yàn)?void函數(shù)沒有返回值,要想把讓函數(shù)的值帶回主函數(shù),還有兩種辦法,第一是使用指針做參數(shù),第二是瀠數(shù)組做參數(shù)。
2、用指針傳遞就可以了嗎,那如果不用指針呢?
答:用指針當(dāng)然可以啦。如果不用指針,那就選擇用數(shù)組參數(shù)了。