返回值類型 函數名(){
函數體
}
( )不能少。{ }包圍。
int sum(){
int i, sum=0;
for(i=1; i<=100; i++){
sum+=i;
}
return sum;
}
計算結果保存在變量sum中,通過return語句返回。sum為int型,所以返回值類型也必須為int,要一一對應。return是C語言中的一個關鍵字,只能用在函數中,用來返回處理結果。
#include <stdio.h>
int sum(){
int i, sum=0;
for(i=1; i<=100; i++){
sum+=i;
}
return sum;
}
int main()
{
int a = sum();
printf("The sum is %d\n", a);
return 0;
}
運行結果:注意:main 是函數定義,不是函數調用。當可執行文件加載到內存後,系統從 main 函數開始執行,也就是說,系統會調用我們定義的 main 函數。
void hello(){
printf ("Hello,world \n");
//沒有返回值就不需要 return 語句
}
void是C語言中的一個關鍵字,表示空類型或無類型,絕大部分情況下也就意味著沒有 return 語句。
返回值類型 函數名(參數列表){
函數體
}
int max(int a, int b){
if (a>b){
return a;
}else{
return b;
}
}
參數(Parameter)本質上也是變量,定義時要指明參數類型和參數名稱。參數列表中可以定義一個或多個參數,多個參數之間用逗號,分隔。參數列表中給出的參數可以在函數體中使用。int n = max(10, 20);也可以傳遞變量:
int a = 10, b = 20; int n = max(a, b);也可以整數和變量一起傳遞:
int a = 10; int n = max(a, 20);變量 n 得到的值都是20。
#include <stdio.h>
int max(int a, int b){
if (a>b){
return a;
}else{
return b;
}
}
int main(){
int num1, num2, maxVal;
printf("Input two numbers: ");
scanf("%d %d", &num1, &num2);
maxVal = max(num1, num2);
printf("The max number: %d\n", maxVal);
return 0;
}
運行結果:a=num1; b=num2;return 語句可以有多個,可以在函數體的任意位置。在max中,根據 if 的判斷結果來執行不同的 return 語句。
int max(int a, int b){
int n = (a>b) ? a : b;
return n;
printf("Function is performed\n");
}
第4行代碼是多余的,永遠沒有執行的機會。