二、函數(shù)值的返回
其實我們也可以把函數(shù)當作一個變量來看,既然是變量,那一定也可以有類型。還舉最前面的例子,現(xiàn)在要求在main()函數(shù)里輸入一個整數(shù)作為正方形的邊長,在子函數(shù)里求正方形的面積,然后再在主函數(shù)里輸出這個面積。
我們前面的程序都是在子函數(shù)里輸出的,現(xiàn)在要求在主函數(shù)里輸出,這就需要把算好的值返回回來。先看例子:
int a(int); /*聲明函數(shù)*/
main()
{
int num,area;
scanf(%d,&num);
area=a(num); /*調(diào)用時的形式*/
printf(%d,area);
}
int a(int num)
{
int area_back;
area_back=num*num;
return area_back; /*返回一個值*/
}
和前面的程序有幾點不同:
(1).聲明函數(shù)類型時,不是void,而是int。這是由于最后要求的面積是整型的,所以聲明函數(shù)的返回值類型是整型。
(2).return語句 它的意思就是返回一個值。在C語言中,return一定是在函數(shù)的最后一行。
(3).調(diào)用函數(shù)的時候,由于函數(shù)有一個返回值,所以必須要用變量接受這個返回值(不是絕對的),如果我們不用一個變量接受這個值,函數(shù)還照樣返回,但是返回的這個值沒有使用。
上面的例子運行過程是這樣的,先把實參的值傳遞給形參,然后在子函數(shù)里計算面積得到area_back,然后返回這個面積到主函數(shù),也就是把area_back賦值給area,最后輸出。
相關推薦:計算機等級考試二級C語言教程匯總北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |