#include <stdio.h> #include "stdbool.h"//C語言萬惡的頭文件 忘乾淨了 //返回參數 函數名 出入參數(形參) float average (double a, double b) { return (a+b)/2;//執行語句 } void printfCode (int a ,int b) { printf("打印結果是:%d/2",100%5); } void onlyPrintf (void) { printf("輸出"); } bool primeNumber(int a) { if (a<=1) return false; for (int i = 2;i*i<=a;i++) if (a % i == 0) return false; return true; } //函數申明 void classPrint (); int sum_array(int a[],int n) { int i,sum = 0; for (i = 0; i < n; i++) { sum += a[i]; } return sum; } int fact (int n ,int m) { if (m ==1) { return 1; } else { return n * fact( n, m-1);//調用自身就是遞歸 } } #define LEN 100 int main(int argc, const char * argv[]) { // insert code here... printf("Hello, World!\n"); // 函數調用 //有返回值的 float x = average(5,6); printf("%f \n",x); // 無返回值 傳參數的 printfCode(100, 5); // 無返回值無參數的 onlyPrintf(); // 斷定素數 int prime; scanf("%d",&prime); primeNumber(prime); if (primeNumber(prime)) { printf("斷定素數%d\n",prime); } else { printf("no prime"); } classPrint(); //傳參數組 int b[LEN],total; // total = sum_array(b[], LEN); wrong total = sum_array(b,LEN); printf("數組的和%d",total); // 遞歸函數 int factNumber = fact(5, 3); printf("遞歸%d\n",factNumber); return 0; } void classPrint () { printf("when behind main\n "); }