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