【例23.3】編寫一個具有兩個參數的函數max,比較這兩個參數的大小,並把大者和一個常量100相加,作為函數的返回值。將這個返回值和常量100相乘作為程序的輸出。
#include <stdio.h> //1 包含頭文件 #define NUM 100 //2 宏定義NUM=100 int max (int ,int ); //3 函數max 的原型聲明 int main ( ) //4 主函數 { //5 主函數定義開始 int a ,b ,x ; //6 聲明變量 a=2 ; b=3 ; //7 變量賦值 x=NUM*max ( a ,b ); //8 輸出函數返回值與NUM 相乘 printf ("%d\n" ,x ); //9 輸出函數返回值與NUM 的乘積 return 0 ; //10 } //11 //12 int max (int m1 , int m2 ) //13 函數max 的定義 { //14 if (m1 > m2 ) return m1+NUM ; //15 使用NUM else return m2+NUM ; //16 使用NUM } //17
假設將這個程序放在單個源文件c23_3.c中。語句1~語句2屬於預處理的內容,語句3是主函數之外的所有函數的原型聲明。這種單文件結構可以分為如下3部分。
第一部分:預處理命令
函數原型聲明(如果有外部變量,也在這一部分聲明或定義)
第2部分:主函數
第3部分:其他函數的定義
推廣到更一般的情況:如果有外部變量,也在第1部分聲明或定義。為了節省篇幅,很多例子都是使用這種模式。