程序填空题:字符串排序--指针数组做函数参数
字符串排序,例如输入:banana orrange apple,则以下程序的输出结果:
apple
banana
orrange
```c++
#include
#include
#define MAXLINE 20
void sort(char **pstr);
int main(void)
{
int i;
char *pstr[3], str[3][MAXLINE];
for (i=0; i<3; i++)
{
pstr[i] = str[i];
}
printf("Please input:");
for (i=0; i<3; i++)
{
scanf("%s",);
}
sort(pstr);
printf("output:");
for (i=0; i<3; i++)
{
printf("%s\n",);
}
return 0;
}
void sort(char **pstr)
{
int i, j;
char *p;
for (i=0; i<3; i++)
{
for (j=i+1; j<3; j++)
{
if (strcmp() > 0)
{
p = *(pstr+i);
*(pstr+i) = *(pstr+j);
*(pstr+j) = p;
}
}
}
}
```
答案:
第1空:*(pstr+i)
第2空:*(pstr+i)
第3空:*(pstr+i), *(pstr+j)
apple
banana
orrange
```c++
#include
#include
#define MAXLINE 20
void sort(char **pstr);
int main(void)
{
int i;
char *pstr[3], str[3][MAXLINE];
for (i=0; i<3; i++)
{
pstr[i] = str[i];
}
printf("Please input:");
for (i=0; i<3; i++)
{
scanf("%s",);
}
sort(pstr);
printf("output:");
for (i=0; i<3; i++)
{
printf("%s\n",);
}
return 0;
}
void sort(char **pstr)
{
int i, j;
char *p;
for (i=0; i<3; i++)
{
for (j=i+1; j<3; j++)
{
if (strcmp() > 0)
{
p = *(pstr+i);
*(pstr+i) = *(pstr+j);
*(pstr+j) = p;
}
}
}
}
```
答案:
第1空:*(pstr+i)
第2空:*(pstr+i)
第3空:*(pstr+i), *(pstr+j)