[問題] 關於FLUSH的問題
剛開始學到while的時候
還沒遇到這種問題
不過現在學到Text input/output
有一些不太理解的地方
就是FLUSH
例如:
(1.)
------------------------------------------
.......
#define FLUSH while(getchar() != '\n')
.......
int unitsSold;
.......
while(scanf("%d", &unitsSold) != 1)
{
FLUSH;
printf("\aInvalid number. Please re-enter: ");
}
........
------------------------------------------
如果不加上FLUSH, 當我輸入'?'的時候,
會一直不斷的重複印"\aInvalid number. Please re-enter: ",
不是應該會停在scanf讓我輸入嗎?
(2.)
------------------------------------------
.........
bool valid;
.........
printf("<Y> correct: <N> not correct: \n");
FLUSH;
if (toupper(getchar()) == 'Y')
valid = 'true';
else
{
FLUSH;
printf("\nYou respond 'no.' ");
printf("Please re-enter Units Sold\n");
valid = 'false';
} while (!valid);
........
------------------------------------------
這裡有兩個FLUSH, 我知道第一個FLUSH要getchar是需要的,
但是else裡面的FLUSH還是不懂, 不知道為何要再放一個
在下是個新手, 請大家多多包涵^^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.120.193.118
※ 編輯: gnawnoraa 來自: 122.120.193.118 (08/18 14:32)
※ 編輯: gnawnoraa 來自: 122.120.193.118 (08/18 14:34)
推
08/18 14:45, , 1F
08/18 14:45, 1F
→
08/18 14:46, , 2F
08/18 14:46, 2F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
1
2
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章