链表节点应该咋样才可以输入一个字符串

输入直接回车介绍了,跳不出循环,😭😭
img

img

scanf("%s",p->data);就可以了
但你上面的代码是有问题的,p = new LNode; p=L->next;这么写的话,前一句new就白瞎了,你接着就改了p的指向,导致new出来的成了野指针,失去控制,内存泄漏啦
LNode *p = L;
while(p->next != NULL)
p = p->next;
LNode *q = new LNode;
scanf("%s",q->data);
q->next = NULL;
p->next = q;
p = q;
printf("已成功添加方案.......
.....

供参考:

#define Elemtype char
#define maxsize  1000
typedef struct{
        char date[maxsize];
        int  period;
        char note[maxsize];
}Fitness;
Fitness F;
typedef struct   LNode{
        Elemtype data[maxsize];
        struct   LNode *next;
}LNode,*LinkList;


void Increase(LinkList &L){
        int sum = Determine(L);
        printf("表中目前有%d种方案\n",sum);
        int i = sum;
        int length = 0;
        LNode *p = L;
        while(p->next != NULL) p = p->next;
        printf("输入您所需要新增的方案:");
        while(1){
                LNode *q = new LNode;
                scanf("%s",q->data);
                if(strcmp(q->data,"#")==0) break;
                q->next = NULL;
                p->next = q;
                p = q;
                i++;
                printf("已成功添加方案.......\n");
        }
        delete q;
        //.......

}