#include <stdio.h>/* Jone算出結果應該怎么寫函數? */?int? joneResult(int x, int y, int z){?? int sum = x+y+z;?? return sum/3;????????? //這里是不是應該將sum返回呢?}/* Jack沒有算出結果只說了一句話是不是應該用無返回值函數? */?void jackResult(int x, int y, int z){??? printf("我算不出來\n");}int main(){??? int a, b, c;??? a = 10;??? b = 20;??? c = 30;??? //Jone的返回值類型是什么???? int???? jR = joneResult(a, b, c); ??? printf("Jone運算結果是:%d\n", jR);??? printf("Jack運算結果是:");??? //Jack沒有算出結果只說了句話,是不是直接調用函數就可以了???? jackResult(a,b,c);??? return 0;}
3 回答
已采納

豈可奈何
TA貢獻5條經驗 獲得超3個贊
return作用:
1:結束該函數體,并返回調用處。如果是主函數,則結束程序。如:
(1)結束函數體,并返回調用處。例子:你可以依次把return前的//給去掉,看一下結果。(注:第一個return會影響第二個return的效果,除非用控制語句分開。)
#include<stdio.h>
void text() {
//return;//直接結束函數返回調用處,不執行下面的
int i=5;//你可以給i改變值來達到效果
if(i<6){
printf("我執行了!\n");
//return;//結束函數體,下面不執行
printf("return有,看我執不執行\n");
}
return;/*一般void最后不寫return,因為函數體結束后就回到調用處,所以寫return多余,你可以加雙斜線注釋掉試一試*/
}
int main(){
printf("開始調用函數text\n");
text();
printf("結束調用函數,return不加值直接返回調用處\n");
}
(2)如果是主函數,則結束程序。
你在主函數后面都有return0;這就是原因。
2:return xx帶值返回。結束函數體,并把值帶回到調用處。如求最大值:
#include<stdio.h>
int max(int a,int b){
if(a>b)
return a;//返回調用處,并把a值傳出去
else
return b;//兩個return只有一個有用,第一個會影響第二個的傳遞
printf("這個只是說明return就結束函數體,無法繼續執行函數的下面,只是證明一下,不必在意,如果執行了這一句,說明程序出錯了");
}
int main(){
int a=4;//可以改變值來看return傳值的結果
int s=8;
int d;//最大值
d=max(a,s);//將函數的最大值傳給d
printf("最大值是%d",d);
return 0;
}

- 3 回答
- 0 關注
- 2647 瀏覽
添加回答
舉報
0/150
提交
取消