liusha 发表于 2014-5-14 23:39:56

输入3个字符串,按小到大的顺序输出 , 用指针

//我用的是DIV .c++,      这是我写的代码(有问题),请各位大神指点指点,哪里出错了。
#include<stdio.h>
#include<conio.h>
#include<string.h>
char e(char *p1,char *p2,char *p3);
char s(char *p1,char *p2);
int main()
{
    char a,b,c,*p1,*p2,*p3;
    printf("请输入一个字符串:\n");
    gets(a);
    printf("请输入一个字符串:\n");
    gets(b);
    printf("请输入一个字符串:\n");
    gets(c);
    p1=a;
    p2=b;
    p3=c;
    e(p1,p2,p3);
    printf("由小到大的顺序是:%s %s %s",*p1,*p2,*p3);
    getch();
    return 0;
}
char e(char *p1,char *p2,char *p3)
{
   if (strcmp(p1,p2)>0)
      s(p1,p2);
   if (strcmp(p2,p3)>0)
      s(p2,p3);
   if (strcmp(p1,p3)>0)
      s(p1,p3);
   
}
char s(char *p1,char *p2)
{
    char t;
    strcpy(t,p1);
    strcpy(p1,p2);
    strcpy(p2,t);
}

kikiatw 发表于 2014-5-15 06:45:45

本帖最后由 kikiatw 于 2014-5-15 10:02 编辑

   printf("由小到大的顺序是:%s %s %s",*p1,*p2,*p3);
正確用法如下:
   printf("由小到大的顺序是:%s %s %s",p1, p2, p3);
页: [1]
查看完整版本: 输入3个字符串,按小到大的顺序输出 , 用指针