免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1434 | 回复: 1
打印 上一主题 下一主题

一道例题,大家帮我看看! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-10-04 14:02 |只看该作者 |倒序浏览
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char *getline(void);
int str_compare(const void*,const void*);//读取文字

#define NLINES_MAX 1000
char *linePtr[NLINES_MAX];//字符指针的数组

int main()
{
        int n=0;
        char **p=NULL;
        for(        ;n<NLINES_MAX && (linePtr[n]=getline())!=NULL;++n)
        ;
        if(!feof(stdin))
        {
                if(n==NLINES_MAX)
                        fputs("sorttext:too many line.\n",stderr);
                else
                        fputs("sorttext:error reading from stdin.\n",stderr);
        }
        else
        {
                qsort(linePtr,n,sizeof(char *),str_compare);
                for (**p=linePtr;p<linePtr+n;++p)
                puts(*p);
        }
        return 0;
}

#define LEN_MAX 512

char *getline()
{
        char buffer[LEN_MAX],*linePtr=NULL;
        if(fgets(buffer,LEN_MAX,stdin)        !=NULL)
        {
                size_t len=strlen(buffer);
                if(buffer[len-1]=='\n')
                        buffer[len-1]='\0';
                else
                        ++len;
                if((linePtr=malloc(len))!=NULL)
                        strcpy(linePtr,buffer);
        }
        return linePtr;
}

int str_compare(const void*p1,const void *p2)
{
        return strcmp(*(char ** )p1,*(char **)p2);
}

这是C语言核心技术上面的一道例子。可是我用VC++编译不通过!

for (**p=linePtr;p<linePtr+n;++p)这一行报下面的警告,希望哪位大侠帮我分析分析!

C:\Documents and Settings\Administrator\桌面\1.c(27) : warning C4047: '=' : 'char ' differs in levels of indirection from 'char ** '

论坛徽章:
0
2 [报告]
发表于 2007-10-04 14:16 |只看该作者
知道为什么了?要把for (**p=linePtr;p<linePtr+n;++p)改为for (p=linePtr;p<linePtr+n;++p)!

呵呵!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP