孤鹤~ 2021-03-13 16:22 采纳率: 0%
浏览 47

getchar()清理缓存

void input(char students[][8],float grades[][5]) {
	int i,j;
	for(i=0;i<5;i++){
		printf("input name:");
		gets(students[i]);
		getchar();
		for(j=0;j<5;j++){
			printf("input grade%d:",j+1);
//			getchar();
			scanf("%4.1f",&grades[i][j]);
			getchar();
		}
	}

输入的时候会有回车的缓存,但是这三个地方加getchar,输入的时候总会出错

  • 写回答

1条回答 默认 最新

  • cpp_learners 2021-03-13 16:47
    关注

    如果你的代码没问题,那就换一种清空输入缓冲去的方法,下面给推荐一个万能的。

    char c;		// 清空输入缓冲区
    while ((c = getchar()) != '\n');
    评论

报告相同问题?