本身简直太菜了,今天看到一道用指针来实现字符串的排序,对指针的用法都快忘了!!!!!!
想呼呼本身两大巴掌数组
#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; }