| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 549 人关注过本帖
标题:顺序串的一个问题
只看楼主 加入收藏
long361800
Rank: 2
等 级:论坛游民
帖 子:33
专家分:37
注 册:2010-8-23
结帖率:90%
收藏
已结贴  问题点数:2 回复次数:3 
顺序串的一个问题
如下代码::

#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>

typedef struct
{
    char *ch;
    int length;
}SqString;

void InitStr(SqString &S)
{
    S.ch=NULL;
    S.length=0;
}




int  StrAssign (SqString &T,char *chars)     //生成一个其值等于串常量chars的串T
{
     int i,j;
     char *c;
     if(T.ch)
    free (T.ch);   //释放T原有空间
    for(i=0,c=chars;c;i++,c++);  //求chars的长度i
    if(!i)
    {
        T.ch=NULL;
        T.length=0;
    }
    else
    {
        if(!(T.ch=(char *)malloc(i*sizeof(char))))
        exit (-1);
        for(j=0;j<i;j++)
        T.ch[j]=chars[j];
        T.length=i;
    }
    return 1;
} //StrAssign

void  DispStr(SqString S)
{
   int i;
   if(S.length>0)
   {
    for(i=0;i<S.length;i++)
    printf("%c",S.ch[i]);
    printf("\n");
   }
}  //DispStr


void main()
{
 SqString  S;
char  *string="abcdefhhefghijklmn";

InitStr(S);
printf("结果输出为: %d\n",StrAssign(S,string));
printf("字符串长度为: %d\n",S.length);
DispStr(S);
getchar();

}

没结果输出,关键在于int  StrAssign (SqString &T,char *chars)     //生成一个其值等于串常量chars的串T
这个函数有问题,这个函数是  严蔚敏  书上的给的代码啊,求解释。。。。。。。。
搜索更多相关主题的帖子: 问题 void include 
2011-07-30 19:49
诸葛修勤
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:549
专家分:1955
注 册:2010-10-28
收藏
得分:0 
你建立的是Cpp
严蔚敏可是c版的
2011-07-30 22:50
诸葛修勤
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:549
专家分:1955
注 册:2010-10-28
收藏
得分:1 
    for(i=0,c=chars;*c;i++,c++);  //求chars的长度i
for(i=0,c=chars;c;i++,c++);  //求chars的长度i
2011-07-30 23:51
诸葛修勤
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:549
专家分:1955
注 册:2010-10-28
收藏
得分:1 
地址 和 指向的内容
2011-07-30 23:52
快速回复:顺序串的一个问题
数据加载中...
 
   



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

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