前面說了,返回值有時不一定非要用一個變量來接受,我們可以把上面的程序簡化為:
int a(int);
main()
{
int num;
scanf(%d,&num);
printf(%d,a(num)); /*函數(shù)調(diào)用放在這兒*/
}
int a(int num)
{
int area_back;
area_back=num*num;
return area_back;
}
這樣函數(shù)返回的值就可以直接放到輸出緩沖區(qū)直接輸出了。
還可以再簡化為:
int a(int);
main()
{
int num;
scanf(%d,&num);
printf(%d,a(num));
}
int a(int num)
{
return num*num; /*直接在這兒返回*/
}
對于函數(shù)而言,一個函數(shù)只能返回一個值,如果想返回一組數(shù)值,就要使用數(shù)組或者結(jié)構(gòu)或者指針。其實對于這些,還是返回一個值,只是這個值是一個地址而已。但是對于數(shù)組的返回有和變量不同,因為數(shù)組和地址是聯(lián)系在一起的?匆粋例子:
void a(int []);
main()
{
int array[5]={1,2,3,4,5},i;
a(array);
for(i=0;i<5;i++) printf(%d,array[i]);
}
void a(int array[])
{
int i;
for(i=0;i<5;i++) array[i]++;
}
看看這個程序,好象函數(shù)沒有返回值,但是函數(shù)的功能的確實現(xiàn)了,在主函數(shù)當(dāng)中輸出的值的確都各加了1上來。這就是因為數(shù)組和變量不同的緣故,在后面講指針的時候再詳細說明。
相關(guān)推薦:計算機等級考試二級C語言教程匯總北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |