如何改为函数啊?
这是论坛上别人问的一个问题,正确的代码是#include<string.h>
#include<stdio.h>
void main()
{
char *t,*p1,*p2,*p3,s1[20],s2[20],s3[20];
gets(s1);
gets(s2);
gets(s3);
p1=s1;
p2=s2;
p3=s3;
if(strcmp(p1,p2)>0)
{
t=p1;
p1=p2;
p2=t;
}
if(strcmp(p2,p3)>0)
{
t=p2;
p2=p3;
p3=t;
}
if(strcmp(p1,p2)>0)
{
t=p1;
p1=p2;
p2=t;
}
printf("%s\n%s\n%s",p1,p2,p3);
}
我想改为函数形式,于是我改成
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "string.h"
#include "stdlib.h"
#include "math.h"
char *t,*p1,*p2,*p3,s1[20],s2[20],s3[20];
void swap(**p1,**p2)
{if(strcmp(p1,p2)>0)
{
t=p1;
p1=p2;
p2=t;
}
}
int main()
{
gets(s1);
gets(s2);
gets(s3);
p1=s1;
p2=s2;
p3=s3;
swap(&p1,&p2);
swap(&p2,&p3);
swap(&p1,&p3);
printf("%s\n%s\n%s",p1,p2,p3);
getch();
getch();
return 0;
}
结果出错,这是为什么呢,应该怎么改?