為什么p一進(jìn)入循環(huán)就變成無效的指針了
#include <stdio.h>
#include <stdlib.h>
typedef struct weapon
{
char name;
int money;
struct weapon *next;
}lianbiao;
int main(void)
{
lianbiao a,b,c,*head;
lianbiao *p;
a.name = '1';
a.money = 1;
b.name = '2';
b.money = 2;
c.name = '3';
c.money = 3;
head = &a;
a.next = &b;
b.next = &c;
c.next = NULL;
p = head;
while(p!=NULL)//在這里就變成了無效的指針在之前p還正常
{
printf("%s,%d\n",p->name,p->money);
p->next;
}
system("pause");
return 0;
}
2020-12-13
while循環(huán)結(jié)束時(shí)給p賦值應(yīng)為p = p -> next
p->name的數(shù)據(jù)類型為c,將%s改為%c即可
2020-07-01
倒數(shù)第五行p->next;改成p=p->next;
2017-08-07
p->next;改為p=p->next ?你需要重新把指針給p ?%s改為%%c