| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1170 人关注过本帖
标题:编程关于指针数组的问题报错,求指教
只看楼主 加入收藏
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
结帖率:95.37%
收藏
已结贴  问题点数:20 回复次数:7 
编程关于指针数组的问题报错,求指教
#include<stdio.h>
#include<string.h>
int main()
{
    char sort(char *name[],int n);
    char print(char *name[],int n);
    char *name[]={"i","love","you"};
    int n=3;
    sort(name,3);
    print(name,3);
    return 0;
}
char sort(char *name[],int n)
{
    int i,j,k;
    char *t;
    for(i=0;i<n-1;i++)
    {
        k=i;
        for(j=i+1;j<n-1;j++)
           if(strcmp(name[i],name[j])>0)
              k=j;
        if(k!=i)
        {
               t=name[i];
               name[i]=name[j];
               name[j]=t;
        }
    }
}
void print(char *name[],int n)
{
    for(int i=0;i<n;i++)
       printf("%s\n",name[i]);
}

[此贴子已经被作者于2017-4-24 21:01编辑过]

2017-04-24 20:57
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1688
专家分:4262
注 册:2007-12-27
收藏
得分:7 
出神马错?

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2017-04-24 21:11
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:7 
首先print返回值类型不匹配。
排序出错,问题在sort函数中数组上限的错误,上限应该是n,而不是n-1。
第三,不算错误,但是我怀疑你写的时候是怎么想的,比如main()函数中的n,是用来做什么的?sort中的k又是干嘛的?

写代码,先想清楚再写。

程序代码:
#include<stdio.h>
#include<string.h>
char sort(char *name[],int n);
void print(char *name[],int n);
int main()
{

    char *name[] = {"3","1","2"};
    sort(name,3);
    print(name,3);
    return 0; 
}
char sort(char *name[],int n)
{
    int i,j;
    char *t;
    for(i=0;i<n;i++)
    {
        for(j=i+1;j<n;j++)
           if(strcmp(name[i],name[j])>0)
            {
               t=name[i];
               name[i]=name[j];
               name[j]=t;
            }
    }
}
void print(char *name[],int n)
{
    for(int i=0;i<n;i++)
       printf("%s\n",name[i]);
}

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-04-24 21:18
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
收藏
得分:0 
回复 3楼 renkejun1942
print返回值类型不匹配。  应改成什么?

我用你的代码编译出来 报错是这样的。
图片附件: 游客没有浏览图片的权限,请 登录注册
2017-04-24 21:29
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
回复 4楼 花脸
你瞎么?我楼上的代码帮你改了。


[此贴子已经被作者于2017-4-25 02:26编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-04-24 21:31
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
收藏
得分:0 
回复 5楼 renkejun1942
0000
2017-04-24 21:46
平平小黄
Rank: 2
等 级:论坛游民
帖 子:15
专家分:28
注 册:2016-9-27
收藏
得分:7 
#include<stdio.h>
#include<string.h>
char sort(char *name[],int n);
char print(char *name[],int n);
int main()
{
   
    char *name[]={"i","love","you"};
    int n=3;
    sort(name,3);
    print(name,3);
    return 0;
}
前面这样子才对。。
2017-04-24 22:36
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
收藏
得分:0 
回复 7楼 平平小黄
还错。。
2017-04-25 19:24
快速回复:编程关于指针数组的问题报错,求指教
数据加载中...
 
   



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

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