当初始用户输入为“\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
}
使用 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
}