怎么样向函数中传递指针数组,即修改指针数组的值

#include \u0026lt;stdio.h\u0026gt;#include \u0026lt;stdlib.h\u0026gt;#include \u0026lt;string.h\u0026gt;void sortstring(char *ptr,int n);int main(){ char *ptr; int i,j; // read in for(i=0;i\u0026lt;4;i++) { ptr=malloc(20); fgets(ptr,20,stdin); } // print after read printf("original string:\"); for(i=0;i\u0026lt;4;i++) { printf("%s\",ptr); } // sort sortstring(\u0026amp;ptr,4); // print after sort printf("after sort:\"); for(i=0;i\u0026lt;4;i++) printf("%s\",ptr);}void sortstring(char *ptr,int n){ int i,j; char *temp; for(i=0;i\u0026lt;n;i++) for(j=0;j\u0026lt;n-i-1;j++) { if(strcmp(ptr, ptr)\u0026gt;0) { temp=ptr; ptr=ptr; ptr=temp; } }}
■网友
函数原型应该是:void sortstring(char *, int );顺便说一句,你的void sortstring();是一种劣习。把函数类型声明放在函数内,通常也是一种恶习。


    推荐阅读