链表问题
处理链表时,在已有的一个链表中,希望删除其中的某一个结点(由用键盘输入),删除后链的连接方式不变!!
我写的时候程序只可以认出是整数类型的条件,但是当输入是字符型的条件时程序就死循环!
如:
DelNode()
{
char ch;
scanf("%c",&ch);
p = h;
while(p -> chr != chr)
{
q=p;
p = p-> next;
}
q->next =p ->next;
}
其中h为指向链头的指针;p为指向要找的结点指针;q为指向P结点的下一个结点。
程序这样一运行就会死循环。
但整数类型作为条件时,程序运行正常。并且能找到我想要找的结点!!
如:
DelNode()
{
int ch;
scanf("%d",&ch);
p = h;
while(p -> chr != ch)
{
q=p;
p = p-> next;
}
q->next =p ->next;
}
请高手请教一下到底是什么原因。是不是在判断时不能用字符类型?