#define LINEMAX 20/*定義字串的最大長度*/int main(){int i;char**p,*pstr[5],str[5][LINEMAX];for(i=0;i<5;i++)pstr<i>=str<i>;/*將第i個字串的首地址賦予指標陣列pstr的第i個元素*/printf("input 5 strings:\n");for(i=0;i<5;i++)scanf("%s",pstr<i>);p=pstr;sort(p);printf("strings sorted:\n");for(i=0;i<5;i++)printf("%s\n",pstr<i>);}sort(char**p)/*冒泡法對5個字串排序函式*/{int i,j;char*temp;for(i=0;i<5;i++){for(j=i+1;j<5;j++){if(strcmp(*(p+i),*(p+j))>0)/*比較後交換字串地址*/{temp=*(p+i);*(p+i)=*(p+j);*(p+j)=temp;}}}return 0;}擴充套件資料:printf()函式的呼叫格式為:printf("<格式化字串>",<參量表>)。其中格式化字串包括兩部分內容:一部分是正常字元,這些字元將按原樣輸出;另一部分是格式化規定字元,以"%"開始,後跟一個或幾個規定字元,用來確定輸出內容格式。參量表是需要輸出的一系列引數,其個數必須與格式化字串所說明的輸出引數個數一樣多,各引數之間用","分開,且順序一一對應,否則將會出現意想不到的錯誤。比如:int a=1234;printf("a=%d\n",a);輸出結果為a=1234。scanf()是C語言中的一個輸入函式。與printf函式一樣,都被宣告在標頭檔案stdio.h裡,因此在使用scanf函式時要加上#include<stdio.h>。int scanf(const char*restrict format,...);函式scanf()是從標準輸入流stdin(標準輸入裝置,一般指向鍵盤)中讀內容的通用子程式,可以說明的格式讀入多個字元,並儲存在對應地址的變數中。如:scanf("%d%d",&a,&b);函式返回值為int型,如果a和b都被成功讀入,那麼scanf的返回值就是2。
#define LINEMAX 20/*定義字串的最大長度*/int main(){int i;char**p,*pstr[5],str[5][LINEMAX];for(i=0;i<5;i++)pstr<i>=str<i>;/*將第i個字串的首地址賦予指標陣列pstr的第i個元素*/printf("input 5 strings:\n");for(i=0;i<5;i++)scanf("%s",pstr<i>);p=pstr;sort(p);printf("strings sorted:\n");for(i=0;i<5;i++)printf("%s\n",pstr<i>);}sort(char**p)/*冒泡法對5個字串排序函式*/{int i,j;char*temp;for(i=0;i<5;i++){for(j=i+1;j<5;j++){if(strcmp(*(p+i),*(p+j))>0)/*比較後交換字串地址*/{temp=*(p+i);*(p+i)=*(p+j);*(p+j)=temp;}}}return 0;}擴充套件資料:printf()函式的呼叫格式為:printf("<格式化字串>",<參量表>)。其中格式化字串包括兩部分內容:一部分是正常字元,這些字元將按原樣輸出;另一部分是格式化規定字元,以"%"開始,後跟一個或幾個規定字元,用來確定輸出內容格式。參量表是需要輸出的一系列引數,其個數必須與格式化字串所說明的輸出引數個數一樣多,各引數之間用","分開,且順序一一對應,否則將會出現意想不到的錯誤。比如:int a=1234;printf("a=%d\n",a);輸出結果為a=1234。scanf()是C語言中的一個輸入函式。與printf函式一樣,都被宣告在標頭檔案stdio.h裡,因此在使用scanf函式時要加上#include<stdio.h>。int scanf(const char*restrict format,...);函式scanf()是從標準輸入流stdin(標準輸入裝置,一般指向鍵盤)中讀內容的通用子程式,可以說明的格式讀入多個字元,並儲存在對應地址的變數中。如:scanf("%d%d",&a,&b);函式返回值為int型,如果a和b都被成功讀入,那麼scanf的返回值就是2。