c中链表查询代码调试出现以下问题,怎么办?

GetList2(LinkList L){
	Node* r;
	int i=0;
	ElemType c;
	r=L;
	printf("请输入想要寻找的元素:");
	scanf("%c",&c);
	while(r->date!=c){
		if(r->next!=NULL){
			r=r->next;
			i++;
		}
		else{
			printf("链表中没有要找的元素\n");
			break;
		}
	}
	printf("你要找的元素在第%d个位置!",i);
}
以下是其执行结果,它跳过了scanf语句执行,这是哪里出现问题了?

http://img.mukewang.com/56e5078300015f1706680441.jpg

lzjccc
浏览 1516回答 2
2回答

qq_追梦_26

在调用GetList2函数之前,先将回车符吸收,也就是加一个getchar()函数。

lzjccc

回车键输入时缓冲进来的阿希码没有清除(getchar();清除回车键输入时缓冲进来的阿希码10)
打开App,查看更多内容
随时随地看视频慕课网APP