注册 登录
编程论坛 数据结构与算法

【求助】以下一段程序错误在哪里?

ts16969 发布于 2013-10-17 17:31, 466 次点击
#include<iostream>

using namespace std;
struct lstr
{
    char data;
    lstr *next;
};
void lstrassign(lstr *s,char cstr[])
{
    int i;
    lstr *r,*p;
    s=(lstr*)malloc(sizeof(lstr));
    s->next=NULL;
    r=s;
    for(i=0;cstr[i]!='\0';i++)
    {
        p=(lstr *)malloc(sizeof(lstr));
        p->data=cstr[i];
        p->next=NULL;
        r->next=p;
        r=p;
    }
}
void displstr(lstr *s)
{
    lstr *p=s->next;
    if(p==NULL)
        cout<<"null string!"<<endl;
    else
        while(p!=NULL)
        {
            cout<<p->data<<endl;
            p=p->next;
        }
}
void main()
{
    int i;
    lstr s,*p;
    p=&s;
    char str[15];
    gets(str);
    lstrassign(p,str);
    i=lstrlength(p);
    cout<<"i="<<i<<endl;
}
2 回复
#2
yuccn2013-10-18 08:20
void lstrassign(lstr *s,char cstr[])
{
    int i;
    lstr *r,*p;
    s=(lstr*)malloc(sizeof(lstr));
    s->next=NULL;
    r=s;
    for(i=0;cstr[i]!='\0';i++)
    {
        p=(lstr *)malloc(sizeof(lstr));
        p->data=cstr[i];
        p->next=NULL;
        r->next=p;
        r=p;
    }
}

这类型低级的错误,在这个论坛估计不下10次了


指针的指针~~
#3
ts169692013-10-18 10:46
回复 2楼 yuccn
新手,还是不明白!
1