标题:指针数组中输出的问题
取消只看楼主
lin471306489
Rank: 4
等 级:业余侠客
帖 子:136
专家分:247
注 册:2011-8-16
结帖率:100%
已结贴  问题点数:20 回复次数:3 
指针数组中输出的问题
将若干字符串按字母顺序(由大到小)输出。
#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
前四个输不出来,想请教下程序出了什么问题?
搜索更多相关主题的帖子: 字母 include design 字母 include design 字符串 字符串 print print 
2011-09-04 14:34
lin471306489
Rank: 4
等 级:业余侠客
帖 子:136
专家分:247
注 册:2011-8-16
得分:0 
嗯嗯,用冒泡排序的确是简单啦!
但是,我目的是想知道用选择排序法,为什么输出乱码?
2011-09-04 16:26
lin471306489
Rank: 4
等 级:业余侠客
帖 子:136
专家分:247
注 册:2011-8-16
得分:0 
至于2楼说的,看三楼的就知道原因了吧
2011-09-04 16:31
lin471306489
Rank: 4
等 级:业余侠客
帖 子:136
专家分:247
注 册:2011-8-16
得分:0 
恩恩,明白啦。
2011-09-05 12:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-349129-1-1.html




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

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