我也这么想
你看
#include"stdio.h"
#include"string.h"
main()
{
char *a[3],cc[3][20];
int i;
char *p;
for(i=0;i<3;i++)
a[i]=cc[i];
for(i=0;i<3;i++)
scanf("%s",a[i]);
if(strcmp(*a,*(a+1))>0)
{p=*a;*a=*(a+1);*(a+1)=p;}
if(strcmp(*a,*(a+2))>0)
{p=*a;*a=*(a+2);*(a+2)=p;}
if(strcmp(*a,*(a+2))>0)
{p=*(a+1);*(a+1)=*(a+2);*(a+2)=p;}
for(i=0;i<3;i++)
printf("%s\n",a[i]);}
我把*(a+i)全代为*a[i]后有好几个warning
虽然能complie,但是不能运行
我不明白为什么会这样