发现一个奇怪的问题,大家帮忙看一下
/*链表创建*/#include<iostream>
#include<stdio.h>
#include<stdlib.h>
using namespace std;
typedef struct node{
int number;
struct node *next;
}node;
void create(node *&head){
node* p;
for(int i =0;i<10;i++){
node *temp = (node *)malloc(sizeof(node));
if(!temp)
exit(0);
temp->number = i;
temp->next = NULL;
if(head == NULL){
p = head = temp;
}
else{
temp->next = p;//如果把这里换成p->next = temp,即是换成链表尾插入法,就会出现问题,这是为什么呢??
p = temp;
}/**/
}
}
int main(){
node *head;
create(head);
return 0;
}