百思不得其解
以下的程序显示没有错误的,但在编译时会发生错误,说内存不能为“written”不知道这是为什么呢?????
#include<stdio.h>
#include<string.h>
void main ()
{
char *p[10];
int i=0;
void px (char *p[]);
do
{
printf("input number%d string\n",i+1);
scanf("%s",p[i]);
i++;
} while(i<10);
px(p);
printf("result:\n");
for(i=0;i<10;i++)
printf("%s\n",p[i]);
}
void px (char *p[])
{
char*temp;
int i,j,k;
for(i=0;i<9;i++)
{ k=i;
for(j=i+1;j<10;i++)
if(strcmp(p[k],p[j])>0) k=j;
if(k!=i)
{temp=p[k];
p[k]=p[i];
p[i]=temp;}
}
}