当初始用户输入为“\n”时使用 getchar() C

Using getchar() when initial user input is "\n" C

使用 getchar() 方法将字符值设置为指定的用户输入时,用户可能决定不输入任何内容,但仍按回车键。有没有办法检查字符值是否为“\n”?

// for example:

printf("input y/n\n"); 
char inp; 

// the user hits enter before entering any value
inp = getchar();
getchar();

while (inp != 'y' && inp != 'n') {
    inp = getchar(); 
    getchar(); 
}

if (inp == 'y') {
    printf("+\n"); 
} else {
    printf("-\n"); 
}

example input/output

case 1
'enter'
yy
results in: +

case 2
'enter'
y
y
yy
results in: +

case 3
'enter'
y
'enter'
y
results in: +

有没有人愿意解释一下这些案例?作为一个刚接触c,但对java比较有经验的人,很好奇getchar()的用法和逻辑。

请去掉第二个getchar()

// the user hits enter before entering any value
inp = getchar();
//getchar();  // this getchar() is not needed

也在

 while (inp != 'y' && inp != 'n') {
    inp = getchar();
    //  getchar(); // this getchar() is not needed
   }