为了账号安全,请及时绑定邮箱和手机立即绑定

为什么p一进入循环就变成无效的指针了

#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;

}


正在回答

3 回答

  1. while循环结束时给p赋值应为p = p -> next

  2. p->name的数据类型为c,将%s改为%c即可

0 回复 有任何疑惑可以回复我~

倒数第五行p->next;改成p=p->next;

0 回复 有任何疑惑可以回复我~

p->next;改为p=p->next  你需要重新把指针给p  %s改为%%c

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么p一进入循环就变成无效的指针了

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信