| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 549 人关注过本帖, 1 人收藏
标题:关于指针数组排序字符串的问题
只看楼主 加入收藏
liqingyang
Rank: 2
等 级:论坛游民
帖 子:47
专家分:39
注 册:2010-2-24
结帖率:100%
收藏(1)
 问题点数:0 回复次数:0 
关于指针数组排序字符串的问题
为什么我编译的时候总是少一个书名???????

#include    "stdio.h"
#include    "string.h"
#include    "conio.h"

void    booksort(char    *bname[],int    bnum)/*书名排序程序*/
{
    char    *tmp="\0";
    int        i,j;
    for(i=0;i<bnum;i++)
    {
        for(j=0;j<bnum-i;j++)
        {
            if(strcmp(bname[j],bname[j+1])>0)
            {
                tmp=bname[j];
                bname[j]=bname[j+1];
                bname[j+1]=tmp;
            }
        }
    }
   
}
void    bookprint(char    *bname[],int    bnum)/*打印书名*/
{
    int        i;
    for(i=0;i<bnum;i++)
        printf("%s\n",bname[i]);
}
void    main()
{
    static    char    *bname[]={"visual c++","basic","fortran","delphi","power builder"};
    int        bnum=5;
    clrscr();
    bookprint(bname,bnum);
    booksort(bname,bnum);
    puts("\n");
    bookprint(bname,bnum);
}

我把交换地址那个地方加上*就可以正确运行了,但是那样不又是交换值了吗?我想知道怎么交换地址排序。。。。
搜索更多相关主题的帖子: 指针 字符 
2010-11-08 07:44
快速回复:关于指针数组排序字符串的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.044638 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved