Red de conocimiento informático - Conocimiento informático - ¿Por qué el eje Z siempre está atrapado en el aire durante la programación y el procesamiento en Yulong Simulation?

¿Por qué el eje Z siempre está atrapado en el aire durante la programación y el procesamiento en Yulong Simulation?

#include lt; stdlib.hgt; /*Archivo de encabezado que contiene ma l o c ( )*/

#include lt; ①Defina la estructura de datos de la lista enlazada

struct node

{

int num;

struct node *next;

};

//Declaración de función

struct node *creat();

void print();

main()

{

struct node *head;

head=NULL; //②Crea una tabla vacía

head=creat( head) ;/*Crear una lista enlazada individualmente*/

print(head);/*Imprimir una lista enlazada individualmente*/

}

/*** ** *************************************/

nodo de estructura* creat( struct node *head)/*devuelve un puntero del mismo tipo que el nodo*/

{

struct node*p1, *p2;

int i =1;

//③Utilice la función malloc () para aplicar al sistema la asignación de un nodo

p1=p2=(struct node*)malloc(sizeof( struct node));/ *Nuevo nodo*/

printf("Ingrese un valor. El valor debe ser menor o igual a 0. La dirección de almacenamiento del valor es: p1_ADDR= d\n", p1);

scanf(" d", amp; p1-gt; num); /*Ingrese el valor del nodo*/

p1-gt; /*Establece el puntero del nuevo nodo en nulo*/

while(p1-gt;numgt;0)/*El valor del nodo de entrada es mayor que 0*/

{

//④Asigne el miembro puntero del nuevo nodo a nulo.

Si es una tabla vacía, conecte el nuevo nodo al encabezado de la tabla; si es una tabla no vacía, conecte el nuevo nodo al final de la tabla

if(head== NULL)

head=p1; /*Tabla vacía, conectar al encabezado*/

else

p2-gt; -tabla vacía, conectar al final de la tabla*/

p2=p1;

p1=(struct node*)malloc(sizeof(struct node));/*Siguiente new node*/

i=i 1;

printf("Ingrese un valor. El valor termina en 0 o menos. La dirección de almacenamiento del valor es: pd_ADDR= d\n ", i, p2);

scanf("d", amp; p1-gt; num); /*Ingrese el valor del nodo*/

//⑤ Juez si hay nodos posteriores para conectar a la lista vinculada, si es así, vaya a 3); de lo contrario, finalice

}

//=========; ===== Parte de corrección del programa original: (Gracias a @daling_datou por el recordatorio) ========== ====================== =

free(p1); //El aplicado no fue ingresado, por lo que se libera

p1=NULL //apunta a null

p2; -gt; next = NULL; // llega al final de la tabla, apunta a null

printf("Fin de la entrada de la lista vinculada (END)\n"); /====================================== ===========

return head;/*Devuelve el puntero principal de la lista enlazada*/

}

/**** ******** *******************************/

impresión vacía (estructura nodo*cabeza)/*Obtener el valor de cada nodo de la lista enlazada con head como encabezado*/

{

struct node *temp;

temp=head ;/*Get el puntero principal de la lista vinculada*/

printf("\n\n\nEl valor almacenado en la lista vinculada es:\n");

while(temp!= NULL)/*Siempre que sea una lista no vacía*/

{

printf("6d\n", temp-gt; num); valor del nodo de la lista vinculada*/

temp=temp-gt; next /* Seguimiento del crecimiento de la lista vinculada*/

}

printf ("¡¡La impresión de la lista enlazada finaliza!!");