因为用的是vs,所以scanf是scanf_s
#include<stdio.h>
#include "malloc.h"
//typedef struct MyStruct *Next;
struct MyStruct
{
int number;//保存的数据
MyStruct* next;//指向下一结构的指针
};
//创建链表的函数
MyStruct *CreateLinked() {
//头指针
MyStruct* head = NULL;
//尾指针
MyStruct* end = NULL;
//接收用户传入的数据
int number = 1;
scanf_s("%d", &number);
while (number!=00){
//scanf("%f", &number);//传入数据
if (head!=NULL)
{
MyStruct* p = (MyStruct*)malloc(sizeof(MyStruct));//动态创建一个结构体
p->next = NULL;//下一个为空
p->number = number;//添加数据
end->next = p;//上一个节点指向当前节点
end = p;//更新最后节点
}
else
{
//第一次添加数据
MyStruct* p = (MyStruct*)malloc(sizeof(MyStruct));//动态创建一个结构体
p->next = NULL;//下一个为空
p->number = number;//添加数据
head = p;//头指针指向第一个节点
end = p;//尾指针指向当前节点
}
scanf_s("%d", &number);
}
MyStruct* t = head;
for (;;) {
printf("%d\n", t->number);
if (t->next == NULL)
break;
t = t->next;
}
return head;
}
int main() {
MyStruct* s= CreateLinked();
return 0;
}