/*输入三个字符串,按由小到大的顺序输出*/
#include <stdio.h>
#include <string.h>
#define N 2
int main()
{
char a[N],b[N],c[N];
char *po1,*po2,*po3,*t;
po1 = a;
po2 = b;
po3 = c;
printf("请输入第一行字符串:\n");
gets(a);
printf("请输入第二行字符串:\n");
gets(b);
printf("请输入第三行字符串:\n");
gets(c);
if(strcmp(po1,po2) > 0)
{
t = po1;
po1 = po2;
po2 = t;
}
if(strcmp(po1,po3) > 0)
{
t = po1;
po1 = po3;
po3 = t;
}
if(strcmp(po2,po3) > 0)
{
t = po2;
po2 = po3;
po3 = t;
}
printf("输出结果:\n");
puts(po1);
puts(po2);
puts(po3);
}
谭浩强C程序设计(第四版)p219第2题
没有改变每个字符数组里面的值,只是对指向做了更改。