| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 557 人关注过本帖
标题:写了半天的程序(有关数据结构里的串的问题),结果有错误,并且不能运行, ...
只看楼主 加入收藏
c语言学子
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2013-10-29
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:8 
写了半天的程序(有关数据结构里的串的问题),结果有错误,并且不能运行,求指点
head.h
typedef struct
{
    char *ch;
    int length;
}
Status StrAssign(HString&T,char*chars)
{
    if(T.ch) free(T.ch);
    for(i=0,c=chars; *c; ++i,++c);
    if(!i)
    {
        T.ch=NULL; T.length=0;
    }
    else
    {
        if(!(T.ch=(char*)malloc(i*sizeof(char))))
            exit(OVERFLOW);
        for(j=0;j<i;j++)
            T.ch[j]=chars[j];
    }
    return OK;
}
Status SubString(HString&Sub,HString S,int pos, int len)
{
    if(pos<1||pos>S.length||len<0||len>S.length-pos+1)
        return ERROR;
    if(Sub.ch) free(Sub.ch);
    if(!len)
    {
        Sub.ch=NULL;
        Sub.length=0;
    }
    else
    {
        Sub.ch=(char*)malloc(len*sizeof(char));
        for(j=0;j<len;j++)
        for(i=pos-1;i<pos+len-1;i++)
            Sub.ch[j]=S.ch[i];
    }
    return OK;
}
Status Concat(HString&T,HStringS1,HStringS2)
{
    if(T.ch)  free(T.ch);
    if(!(T.ch=(char*)malloc((S1.length+S2.length)*sizeof(char))))
        exit(OVERFLOW);
    for(j=0;j<S.length;j++)
    for(i=0;i<S1.length;i++)
    T.ch[j]=S1.ch[i];
    T.length=S1.length+S2.length;
    for(k=S1.Length;k<T.length;k++)
    for(p=0;p<S2.length;p++)
    T.ch[k]=S2.ch[p];
    return OK;
}
.cpp文件
#include<stdio.h>
#include <stdlib.h>
#include <iostream.h>
#define true 1
#define false 0
#define ERROR 0
#define OVERFLOW -2
#include<head.h>
void main()
{
    Status StrAssign(HString&S1,char*THIS IS A BOOK)
        printf("S1=%c",S1);
}

搜索更多相关主题的帖子: return 
2013-10-31 18:44
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
收藏
得分:5 
单步,看到哪里不行了

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2013-10-31 19:16
c语言学子
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2013-10-29
收藏
得分:0 
串的输出不明白,能写成 printf("S1=%c",S1);吗?其他的哪里错就不明白了
2013-10-31 20:07
c语言学子
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2013-10-29
收藏
得分:0 
回复 楼主 c语言学子
串的输出不明白,能写成 printf("S1=%c",S1);吗?其他的哪里错就不明白了 。还有主函数是不是应该写出串的建立啊,我学的不是太好。求指教
2013-10-31 20:10
c语言学子
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2013-10-29
收藏
得分:0 
回复 2楼 pauljames
别不理我啊
2013-11-01 11:54
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:12 
S1是虾米东东  咋看不到声明呢   %c是输出单个字符 不知道是否符合你的要求

DO IT YOURSELF !
2013-11-01 13:25
c语言学子
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2013-10-29
收藏
得分:0 
回复 6楼 wp231957
那么输出函数应该怎么写啊,真心不会啊,请大神指点一二
2013-11-01 18:03
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:3 
以下是引用c语言学子在2013-11-1 18:03:51的发言:

那么输出函数应该怎么写啊,真心不会啊,请大神指点一二
真心看不懂你写的那些代码都是干啥的

DO IT YOURSELF !
2013-11-02 10:29
c语言学子
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2013-10-29
收藏
得分:0 
回复 8楼 wp231957
问了问老师,有很多错误,已经解决了谢谢你。
2013-11-02 12:33
快速回复:写了半天的程序(有关数据结构里的串的问题),结果有错误,并且不能运 ...
数据加载中...
 
   



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

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