我對編程非常陌生,正在研究這段代碼,試圖理解它是如何工作的。我的理解是,while循環的每次運行的開始都是程序等待輸入,如果允許該輸入,則循環運行。那是對的嗎?如果是的話,如果程序打印出'$',程序如何顯示'!'鍵入,看在這種情況下如何在其他情況下的cout命令沒有被激活?需要關於cin.get和cin.putback的幫助
int main() {
char ch;
cout << "enter a phrase: ";
while (cin.get(ch)) {
if (ch == '!') cin.putback('$');
else cout << ch;
while (cin.peek() == `#') cin.ignore(1,'#');
}
return 0;
}
輸出:輸入一個詞組:Now!is#the!time#for!fun#! 現在$ isthe $可能性會$ $樂趣
我不是C++專家,但我猜'cin.putback'替換'cin'流中最後一個輸入的字符。它確實與'cout'無關。 – Kilazur