为什么while没有按照预定的意思去执行,请各位帮忙回答一下,谢谢!
#include<stdio.h> /*这只是部分代码*/main()
{
int k,yes=1;
char ch;
struct link *head,*newnum;
head=creat();
while(yes)/*为什么while没有按照指定的意思去执行*/
{
printf("please input COMEIN number: ");
scanf("%d",&k);
newnum=(struct link*)malloc(sizeof(struct link));
newnum->data=k;
newnum->next=NULL;
head=comein(head,newnum);
printf("do you want to continue?(Y/N)\n");
scanf("%c",&ch);
if(ch=='y'||ch=='Y') yes=1;
else yes=0;/*这段代码感觉没起作用*/
}
output(head);
getch();
}
以上只是程序的部分代码。问题是这样的。我想用creat()函数创建一个空链表,然后用comein()函数尽心插入。目标是进行重复插入,所以我用了一个while循环来达到目的,可是。运行后发现scanf("%c",&ch);
if(ch=='y'||ch=='Y') yes=1;
else yes=0;
这串代码根本不起作用,直接跳出了while循环,执行了output()函数。但程序输出了 do you want to continue?(Y/N)\n",我按y后无直接退出程序。
请大家帮忙解释一下,小弟万分感激!谢谢……