我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

本页主题: 大家帮我看看c的问题 显示签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

ppdoll



性别: 帅哥 状态: 该用户目前不在线
等级: 品行端正
发贴: 140
威望: 0
浮云: 1219
在线等级:
注册时间: 2007-09-13
最后登陆: 2008-06-24

5come5帮你背单词 [ novelty /'novəlti/ n. 新颖,新奇的事物 ]


大家帮我看看c的问题

Copy code
#include "stdio.h"


typedef struct
{
    char ch[40];
    int len;
}SString;

void StrInsert(SString *s,int pos,SString *t)
{
    int i;
    if(pos<0||pos>s->len)
    printf("pos is err\n");
    if(s->len+t->len<=40)
    {
    for(i=s->len-1;i>=pos;i--)
   
    s->ch[i+t->len]= s->ch[i];
    for(i=pos;i<t->len+pos;i++)
    s->ch[i]=t->ch[i-pos];
    s->len=s->len+t->len;
    }
    else
    printf("insert is err\n");
}

void InitStr(SString *s)
{
    int i=0;
    char k[40];
    scanf("%s",k);
    for(i;k[i]!=0;i++)
    s->ch[i]=k[i];   
    s->len=i;
   
}


void main()
{
void StrInsert(SString *s,int pos,SString *t);
void InitStr(SString *s);

SString *a,*t;
InitStr(a);
InitStr(t);
StrInsert(a,2,t);
printf("%s\n%d",a->ch,a->len);

}

为什么结果有时候对,有时候不对呢?
比如我
a.jpg


[ 此帖被ljpdxj在2007-12-02 17:17重新编辑 ]
顶端 Posted: 2007-12-02 15:49 | [楼 主]
yinx



性别: 帅哥 状态: 该用户目前不在线
等级: 人见人爱
家族: 丢丢
发贴: 2333
威望: 0
浮云: 1260
在线等级:
注册时间: 2006-09-15
最后登陆: 2009-05-11

5come5帮你背单词 [ her /hə:, hə/ pron. 她的 ]


用[ code]  [ /code]把代码括起来……
顶端 Posted: 2007-12-02 16:10 | [1 楼]
yinx



性别: 帅哥 状态: 该用户目前不在线
等级: 人见人爱
家族: 丢丢
发贴: 2333
威望: 0
浮云: 1260
在线等级:
注册时间: 2006-09-15
最后登陆: 2009-05-11

5come5帮你背单词 [ alloy /'æloi, ə'loi/ n. 合金,(金属的)成色 ]


Copy code
    for(i=s->len-1;i>=pos;i--)   
    s->ch[i+t->len]= s->ch[i];/*这个地方的怎么加不上去啊。。。


这里,忘了把S串的最后那个0x0加到新串上,所以新S串在应该结束的地方没有结束。
把for改成这样:
Copy code
    for(i=s->len;i>=pos;i--)   
顶端 Posted: 2007-12-02 16:14 | [2 楼]
yinx



性别: 帅哥 状态: 该用户目前不在线
等级: 人见人爱
家族: 丢丢
发贴: 2333
威望: 0
浮云: 1260
在线等级:
注册时间: 2006-09-15
最后登陆: 2009-05-11

5come5帮你背单词 [ though /ðəu/ ad. 可是,然而,不过;conj. 尽管,虽然 ]


我运行不了楼主的程序……
Copy code
InitStr()里给s->ch[i]赋值之前没有先为s分配空间……
顶端 Posted: 2007-12-02 19:56 | [3 楼]
我来我网·5come5 Forum » 程序员之家

Total 0.204518(s) query 6, Time now is:11-22 22:12, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号