赵错啦,大括号居然能出问题,大家来帮我看看怎么回事
源码如下,请大家注意调用函数中的大括号,看看有什么问题,最好大家试着运行一下
#include "stdio.h"
#include "string.h"
int main()
{void sort(char **p);
int i;
char **p,*pstr[5],str[5][20];
for(i=0;i<5;i++)
pstr[i]=str[i];
printf("input 5 strings:\n");
for(i=0;i<5;i++)
scanf("%s",pstr[i]);
p=pstr;
sort(p);
printf("\nstrings sorted :\n");
for(i=0;i<5;i++)
printf("%s\n",pstr[i]);
}
void sort(char**p)
{
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;
}
}
}
}
[解决办法]
楼主,你if(strcmp(*(p+i),*(p+j))>0)少了个小括号
[解决办法]
兄弟,函数不是这样调用的
int main()
{void sort(char **p);
int main()
{
char **p = NULL;
sort(p);
[解决办法]