各位大佬,请教一下getch函数的问题
比如下面这一段代码,第一次输入完以后就直接结束进程,用vs调试以后发现,当循环进行到第二次时,str1直接被赋值为'\0',但是若在输入完以后就直接清空缓冲区第二次输入仍然可以正常进行,但是getch又是一个没有缓冲区的函数,跪求大佬帮我解释解释#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#pragma warning (disable:4996)
int main() {
char str1=0;
while(str1=getch()){
if (str1 == '\r')
break;
printf("%c", str1);
}
system("pause");
return 0;
}