问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言链表问题。请问为什么下面代码没有输出呢?

发布网友 发布时间:2022-08-01 19:58

我来回答

2个回答

热心网友 时间:2024-01-04 05:17

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int i=0;

typedef struct LINKED
{
    int data;
    char fuhao;
    int type;
    struct LINKED *next;
}Linked;

void nadd(Linked **ptail,int x) //Linked **ptail是"指针的指针"
{
    Linked *pnew=(Linked*)malloc(sizeof(Linked));
    pnew->data=x;
    pnew->type=0;//0表示数值

    pnew->next=NULL;
    (*ptail)->next=pnew;
    *ptail=pnew;
    //ptail->next=pnew;
    //原代码ptail=pnew;
    //原代码ptail->next=NULL;
}
//加入符号
void stradd(Linked **ptail,char ch) //Linked **ptail是"指针的指针"
{
    Linked *pnew=(Linked*)malloc(sizeof(Linked));
    pnew->fuhao=ch;
    pnew->type=1;//1表示符号

    pnew->next=NULL;
    (*ptail)->next=pnew;
    *ptail=pnew;
    //原代码ptail->next=pnew;
    //原代码ptail=pnew;
    //原代码ptail->next=NULL;
}

int qiu(char* ch)
{
    int x,s=0;
    while(ch[i]>='0'&&ch[i]<='9')
    {
        x=ch[i]-'0';
        i++;
        s=s*10+x;
    }
    return s;
}

int main()
{
    int m;
    char str[10];
    Linked *head=(Linked*)malloc(sizeof(Linked));
    Linked *ptail,*p;
    head->next=NULL;
    ptail=head;
    printf("请输入表达式:");
    scanf("%s",str);
    //原代码for(;i<sizeof(str)/sizeof(char);i++)
    for(;i<strlen(str);i++)
    {
        if(str[i]>='0'&&str[i]<='9')
        {
            m=qiu(str);
            i--;

            //ptail本身是指针,其数值有变化,需要用到"指针的指针"
            nadd(&ptail,m);  //原代码nadd(ptail,m);
        }
        else
        {
            //ptail本身是指针,其数值有变化,需要用到"指针的指针"
            stradd(&ptail,str[i]); //原代码stradd(ptail,str[i]);
        }
    }
    p=head->next;
    while(p!=NULL)
    {
        if(p->type==0)
            printf("%d ",p->data); //字符末尾加了"空格"
        else
            printf("%c ",p->fuhao); //字符末尾加了"空格"
        p=p->next;
    }
    printf("\n");

    return 0;
}

热心网友 时间:2024-01-04 05:17

太长了。。。。
居然显示不出来。。。。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
获取oracle中表的表结构、约束和索引信息 若3的x次方等于二十七分之一,则3的负x次方 若x的2x-1次方=1,则x=多少。若3的x次方=27分之1,则x=多少 3的x次方=1/81,x=? ...为什么?。。。若3的x次方等于81分之一,则x等于什么??急 语文句子成分分析详解 初三英语,关于被动语态 级品飞车lo如何下载? 极品飞车全球在线(nfsol)现在可以在大陆玩么?内测完毕了?听说要个登... ...一个星期不理我了怎么办,电话也不接信息也不回,问她是不是有男人了... 昆明在哪可以办护照,必须在户口所在区办吗? 昆明那里可以异地办护照 我外公已经死了快六年了,但是我经常梦到他。 梦到大姨妈弄到对象身上了好不好 oppoa9x怎么刷机 塔王之王群雄令有什么用 在昆明办护照地点有哪些?- 问一问 善存多维生素29掰开是什么颜色得 谢谢 手表的表镜,表壳和表带材质有几种类别 vivo手机老是弹出广告怎么关闭? 婚戒的意义是什么? 想请教结婚戒指象征着什么? 梦见来月经还把衣服弄脏了是什么意思 带有鼠字的成语字的成语 梦见月经血弄脏裤子是什么意思 女人梦到经血弄脏裤子 梦见来例假血弄到裤子上 鼠字开头有什么四字成语 梦到自己家里新修的房子房顶是一盘散沙 梦到一个茅草屋屋顶坏了,跟婆婆一家人一起修预示什么 感应水龙头电磁阀下方有个皮垫有2孔1个通进水1个通出水这2个孔是如何... 歌词搜索 有一句好像是I wanna know who you are高潮部分这一句反复唱了... 在拓扑排序的过程中,每个记录的i/o次数必定相等对吗 even through sometimes it don&#39;t know who i am 是哪首歌的歌词?_百... 这些是什么八宝材料 兰溪到江西宜春的高兰溪到江西宜春的高铁有吗 梦见抱着别人家的男婴是什么意思 梦见抱着别人家的男婴有什么预兆_百 ... 福建在建设我国首条跨海高铁全长约277.9公里预计2022年建成是吗? 兰西县火车站规划 轻熟女烫那种全头烫,中卷,斜流海,显老气吗? 兰溪高铁长塘后村要拆迁吗? 昆明出入境大厅不预约周末可以办护照吗 梦见跑路撞到了给死人用的纸房子? 梦见自己使劲在打一个小男孩 兰溪云山小区聚仁路会修路吗? 做梦梦见女人主动让自己摸 梦见考试时有女人故意使叛子 沁园春雪怎样安排书写格式好 与牛肉相克的食物有哪些 梦见很使劲的刷牙,寓示什么? 梦见刷牙什么预兆