输入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 10:02 编辑
printf("由小到大的顺序是:%s %s %s",*p1,*p2,*p3);
正確用法如下:
printf("由小到大的顺序是:%s %s %s",p1, p2, p3);
页:
[1]