指针数组中输出的问题
将若干字符串按字母顺序(由大到小)输出。#include<stdio.h>
#include<string.h>
void main()
{
void sort(char *name[],int n);
void print(char *name[],int n);
char *name[]={"Follow me","BASIC","Great Wall","FORTRAN","Computer design"};
int n=5;
sort(name,n);
print(name,n);
}
void sort(char *name[],int n)//用选择法去字符串排序
{
char *temp;
int i,j,k;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(strcmp(name[k],name[j])>0) k=j;
if(k!=i)
{temp=name[i];name[i]=name[j];name[k]=temp;}
}
}
void print(char *name[],int n)//输出排列好的字符串
{
int i;
for(i=0;i<n;i++)
printf("%s\n",p);
}
编译通过后输出的结果
?
?
?
?
Great Wall
Press any key to continue
前四个输不出来,想请教下程序出了什么问题?