c排序问题

来源:百度知道 编辑:UC知道 时间:2024/09/21 04:30:41
我今天上机实验,写了下面这段程序,当随便顺序输入a b c....j的时候,应该输出a>b>c....>j,
可事实上运行的结果是最后应该输出j的地方显示的是c,不知道为什么~

#include <stdio.h> //预编译命令
#include <string.h>

void main() //主函数
{
char str[10][20]; //字符串数组
char **p; //指向指针数组的指针
char *temp,*strp[10];
int i,j,k;

for(i=0;i <=9;i++) //初始化
{
strp[i]=str[i];
printf("\nInput s%d:",i+1); // 输入
scanf("%s",strp[i]);
}
p=strp; // 初始化指向指针的指针
for(j=0;j <=9;j++)
{
for(k=j+1;k <=9;k++)
{
if(strcmp(*(p+j),*(p+k))>0)
{
temp=*(p+k); //交换排序
*(p+k)=*(p+j);
*(p+j)=temp;
}
}
}

printf("\nThe

参考答案:Open Source:广义的开源软件包括开放源代码和开放内容等,是开放精神的体现。对于图书馆2.0常包括开放应用程序接口(Open API)、开放资源内容(Open Content)和开放标准规范(例如OpenURL等Open Link标准、大量的如METS、MODS、CoINs、Microstructure、OAI、SRU/SRW、REST等元数据及编码和协议标准规范等等)。许多图书馆采用Google、Amazon以及OCLC的许多开放的API提供服务,这些开源内容对于图书馆2.0进行服务融合和资源融合有着非常重要的意义。

你再改回去看看,要是两种写法结果不一样,我送分给你!

新人要自助才能成长的更快……

af