这个例题百思不得其解!
//将多个字符串按字母顺序输出。#include <stdio.h>
#include <string.h>
void sort(char *str[],int n)
{
char *temp;
int i,j,k;
for(i=0;i<n-1;i++)
{
k=1;
for(j=i+1;j<n;j++)
if(strcmp(str[k],str[j])>0)
k=j;
if(k!=i)
{temp=str[i];str[i]=str[k];str[k]=temp;}
}
}
void main()
{
int i,n=4;
char *string[4]={"FORTRAN","PASCAL","BASIC","C"};
sort(string,n);
for(i=0;i<n;i++)
printf("%s\n",string[i]);
}
原始例题是这样的,调试的结果如下:
BASIC
FORTRAN
C
PASCAL
请按任意键继续. . .
貌似不对,上网搜索了一下,貌似很多教材都是原封不动这么写的,问题到底出在哪?