當(dāng)你調(diào)用這個(gè)函數(shù)的時(shí)候,必須聲明返回類型。
創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供于田網(wǎng)站建設(shè)、于田做網(wǎng)站、于田網(wǎng)站設(shè)計(jì)、于田網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、于田企業(yè)網(wǎng)站模板建站服務(wù),10年于田做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
void表示沒(méi)有返回值,也就是函數(shù)結(jié)束沒(méi)有return 的,跟里面有無(wú)輸出函數(shù)沒(méi)有關(guān)系。
修改后的C語(yǔ)言程序:
#include?stdio.h?
void?triangle(int?g)
{
int?n=1,?m; /*?修改處1?*/
for(n;n=g;?n++)
{
for(m=1;m=2*n-1;m++) /*?修改處2?*/
putchar('*');
putchar('\n');
}
}
void?rectangle(int?g)
{
int?n=1,?m; /*?修改處3?*/
for(n;n=g;n++)
{
for(m=1;m=3;m++) /*?修改處4?*/
putchar('*');
putchar('\n');
}
}
int?main()
{
int?i,k;
printf("請(qǐng)輸入行數(shù)(大于3):");
scanf("%d",i);
printf("請(qǐng)選擇圖形:1---三角形??\t2---矩形\t3---小旗?:");
scanf("%d",k);
if(k==1)
{?
triangle(i);
}
if(k==2)
{?
rectangle(i);
}
if(k==3)
{?
triangle(i);
rectangle(i);
}
return?0;
}
void意思是主函數(shù)(main)的數(shù)據(jù)類型空返回值。
void的字面意思是“無(wú)類型”,void *則為“無(wú)類型指針”,void *可以指向任何類型的數(shù)據(jù)。
沒(méi)有返回值的函數(shù):功能只是完成一個(gè)操作,應(yīng)將返回值類型定義為void,函數(shù)體內(nèi)可沒(méi)有return語(yǔ)句。
有返回值的函數(shù):函數(shù)的最后會(huì)有一個(gè)返回值return,可以用來(lái)獲取該函數(shù)執(zhí)行結(jié)果返回給該函數(shù),讓外部調(diào)用該函數(shù)的。
擴(kuò)展資料
void的使用
示例:
add ( int a, int b )
{
return a + b;
}
int main(int argc, char* argv[])
{
printf ( "2 + 3 = %d", add ( 2, 3) );
}
參考資料來(lái)源:?百度百科—void
參考資料來(lái)源:百度百科—返回值
1.void用在函數(shù)無(wú)返回值的時(shí)候,函數(shù)前面需要指定返回值的類型,比如int型,char型,不返回時(shí)就用void。
2.返回值與結(jié)果輸出不是一回事,結(jié)果輸出是函數(shù)體執(zhí)行的命令,一個(gè)函數(shù)可以輸出多次。比如說(shuō)調(diào)用一個(gè)整型求和函數(shù),求和的結(jié)果在主函數(shù)中還要用到,需要傳出來(lái),就要把函數(shù)體聲明成int sum(...){...},計(jì)算出的值就是函數(shù)返回值,return出來(lái),主函數(shù)里可以直接使用,比如 int a=sum(...);如果主函數(shù)中不用,在求和函數(shù)中直接輸出就行,可以聲明成void sum(...){...},計(jì)算的值直接輸出,函數(shù)無(wú)返回值。
主函數(shù)沒(méi)有返回值。