| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3718 人关注过本帖
标题:用指针函数返回二维数组的指针,请高手指教啊
只看楼主 加入收藏
AnZai_Zero
Rank: 2
等 级:论坛游民
帖 子:25
专家分:23
注 册:2011-11-2
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:17 
用指针函数返回二维数组的指针,请高手指教啊
程序如下,运行就是不正确。题目大体意思是:输入10个字符串,比较大小,再输出
#include<stdio.h>
#define NUM 10
int *String_sort(char (*str)[10],int n)
{
    char temp[10];
    int i,j;
    for(i=0;i<n-1;i++)
    {
        for(j=0;j<n-1-i;j++)
        {
            if(strcmp(*(str+j),*(str+j+1))>0)
            {
                strcpy(temp,*(str+j));
                strcpy(*(str+j),*(str+j+1));
                strcpy(*(str+j+1),temp);
            }
        }
    }
    return str;
}
int main(void)
{
    char str[NUM][10];
    int (*p)[10];
    int i;
    for(i=0;i<NUM;i++)
    {
        gets(*(str+i));
    }
    p=String_sort(str,NUM);
    for(i=0;i<NUM;i++)
    {
        puts(*(p+i));
    }
    return 0;
}
搜索更多相关主题的帖子: 二维 include return 字符串 
2011-11-15 21:20
zxc1989
Rank: 2
等 级:论坛游民
帖 子:15
专家分:45
注 册:2011-11-15
收藏
得分:20 
我只知道strcmp是字符串函数你少le头文件#include<string.h>再就是类型转换不对但是错在哪我也正在努力的找。找到告诉你。
2011-11-15 22:57
AnZai_Zero
Rank: 2
等 级:论坛游民
帖 子:25
专家分:23
注 册:2011-11-2
收藏
得分:0 
我用的编译器可以不包含这个头文件。二楼提醒了我,是命名指向二维数组的指针类型错了,应该为字符型的,多谢,已完成
#include<stdio.h>
#define NUM 10
int *String_sort(char (*str)[10],int n)
{
    char temp[10];
    int i,j;
    for(i=0;i<n-1;i++)
    {
        for(j=0;j<n-1-i;j++)
        {
            if(strcmp(*(str+j),*(str+j+1))>0)
            {
                strcpy(temp,*(str+j));
                strcpy(*(str+j),*(str+j+1));
                strcpy(*(str+j+1),temp);
            }
        }
    }
    return str;
}
int main(void)
{
    char str[NUM][10];
    char (*p)[10];
    int i;
    for(i=0;i<NUM;i++)
    {
        gets(*(str+i));
    }
    p=String_sort(str,NUM);
    for(i=0;i<NUM;i++)
    {
        puts(*(p+i));
    }
    return 0;
}
2011-11-15 23:37
zxc1989
Rank: 2
等 级:论坛游民
帖 子:15
专家分:45
注 册:2011-11-15
收藏
得分:0 
按照你的该法我昨天晚上已经试验过了,不行的,还是原来的两个错误。指针类型定义错误
2011-11-16 08:17
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
回复 4楼 zxc1989
p=String_sort(str,NUM);
请楼主仔细想一下,p是什么类型,String_sort函数返回值是什么类型

总有那身价贱的人给作业贴回复完整的代码
2011-11-16 08:33
AnZai_Zero
Rank: 2
等 级:论坛游民
帖 子:25
专家分:23
注 册:2011-11-2
收藏
得分:0 
p是指向字符型数据的指针,String_sort函数返回的也是指向字符型数据的指针,可以这样理解吧?
不过还是有警告,请高手解决啊
2011-11-16 18:53
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
回复 6楼 AnZai_Zero
服了,你看看你函数的定义,int *String_sort(char (*str)[10],int n),返回值是什么类型?

总有那身价贱的人给作业贴回复完整的代码
2011-11-16 21:42
AnZai_Zero
Rank: 2
等 级:论坛游民
帖 子:25
专家分:23
注 册:2011-11-2
收藏
得分:0 
大哥,指针也是整型吧。
现在我也不清楚是哪不对,能帮忙找指出哪不对不
2011-11-16 21:51
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
回复 8楼 AnZai_Zero
再去看五楼

总有那身价贱的人给作业贴回复完整的代码
2011-11-16 22:11
神马都浮云
Rank: 2
等 级:论坛游民
帖 子:13
专家分:15
注 册:2011-7-11
收藏
得分:0 
int *String_sort(char (*str)[10],int n)这个应该是返回指向int的指针,
你这个函数应该是要返回一个 char(*)[10]类型的指针吧。。
2011-11-16 23:17
快速回复:用指针函数返回二维数组的指针,请高手指教啊
数据加载中...
 
   



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

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