本身簡直太菜了,今天看到一道用指針來實現字符串的排序,對指針的用法都快忘了!!!!!!
想呼呼本身兩大巴掌數組
#include <stdio.h> #define LINEMAX 20 /*定義字符串的最大長度*/ int n; int main() { int i; char **p,*pstr[100],str[100][LINEMAX]; scanf("%d",&n); for (i=0;i<n;i++) pstr[i]=str[i]; /*將第i個字符串的首地址賦予指針數組 pstr 的第i個元素*/ printf("input strings:\n"); for (i=0;i<n;i++) scanf("%s",pstr[i]); p=pstr; sort(p); printf("strings sorted:\n"); for (i=0;i<n;i++) printf("%s\n",pstr[i]); } void sort(char **p) /*對5個字符串排序函數*/ { int i,j; char *temp; for (i=0;i<n;i++) { for (j=i+1;j<n;j++) { if (strcmp(*(p+i),*(p+j))>0) /*比較後交換字符串地址*/ { temp=*(p+i); *(p+i)=*(p+j); *(p+j)=temp; } } } return; }