| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3718 人关注过本帖
标题:用指针函数返回二维数组的指针,请高手指教啊
取消只看楼主 加入收藏
AnZai_Zero
Rank: 2
等 级:论坛游民
帖 子:25
专家分:23
注 册:2011-11-2
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
用指针函数返回二维数组的指针,请高手指教啊
程序如下,运行就是不正确。题目大体意思是:输入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
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
AnZai_Zero
Rank: 2
等 级:论坛游民
帖 子:25
专家分:23
注 册:2011-11-2
收藏
得分:0 
p是指向字符型数据的指针,String_sort函数返回的也是指向字符型数据的指针,可以这样理解吧?
不过还是有警告,请高手解决啊
2011-11-16 18:53
AnZai_Zero
Rank: 2
等 级:论坛游民
帖 子:25
专家分:23
注 册:2011-11-2
收藏
得分:0 
大哥,指针也是整型吧。
现在我也不清楚是哪不对,能帮忙找指出哪不对不
2011-11-16 21:51
AnZai_Zero
Rank: 2
等 级:论坛游民
帖 子:25
专家分:23
注 册:2011-11-2
收藏
得分:0 
回复 11楼 神马都浮云
这样是可以。不过我就是想弄明白:String_sort函数写为int *String_sort(char (*str)[10],int n)时能正确编译,但会出现如下警告:
suspicious pointer conversion in function String_sort;
suspicious pointer conversion in function main;
String_sort函数写为char *String_sort(char (*str)[10],int n)时能正确编译,但也会出现相同的警告:
suspicious pointer conversion in function String_sort;
suspicious pointer conversion in function main;
2011-11-17 08:27
快速回复:用指针函数返回二维数组的指针,请高手指教啊
数据加载中...
 
   



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

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