概述
展开全部
#define _CRT_SECURE_NO_WARNINGS 1
#include
#include
#include
void sort(char **p)
{
char **q, **s, *t;
for (q = p; q < p + 4; q++)
{
for (s = q + 1; s < p + 5; s++)
{
if (strcmp(*q, *s) > 0)
{
t = *q;
*q = *s;
*s = t;
}
}
}
}
int main()
{
char *a[5], b[5][99], **p;
int i;
for (i = 0; i < 5; i++)
a[i] = b[i];
printf("请依次输入636f70793231313335323631343130323136353331333431353939五个字符串:n");
for (i = 0; i < 5; i++)
scanf("%s", a[i]);
p = a;
sort(p);
printf("排序后输出为:n");
for (i = 0; i < 5; i++)
{
printf("%sn", a[i]);
}
system("pause");
return 0;
}
运行效果:
扩展资料:
scanf函数用法:
scanf("输入控制符",输入参数);
功能:将从键盘输入的字符转化为“输入控制符”所规定格式的数据,然后存入以输入参数的值为地址的变量中。
用scanf()函数以%s格式读入的数据不能含有空白符时,所有空白符都被当做数据结束的标志。所以题中函数输出的值只有空格前面的部分。
如果想要输出包括空格在内的所有数据,可以使用gets()函数读入数据。gets()函数的功能是读取字符串,并存放在指定的字符数组中,遇到换行符或文件结束标志时结束读入。换行符不作为读取串的内容,读取的换行符被转换为字符串结束标志'