我試圖讓一個小的測試程序來算多少次字母「A」出現在一個文本,而不使用字符串類型:輸出窗口不顯示帕斯卡(拉撒路編譯)
program PascalTest;
uses WinCrt;
var
a:integer;
ch:char;
begin
a:=0;
writeln('Input text: ');
read(ch);
while ch <>'.' do // '.' marking the end of text ("eoln" could've been used instead)//
begin
case ch of
'A','a':a:=a+1;
end;
read(ch);
end;
writeln(a);
readln;
readln; //forcing output window to stay open//
end.
我注意到如果我不在最後添加另一個'readln'語句,輸出窗口將不顯示結果(如果你願意,它會立即閃爍)。這隻發生在這個程序中。所有其他的只需要一個'readln '所以窗戶可以保持開放。有人可以向我解釋爲什麼在這種情況下需要另一個'readln'聲明?
我明白了,對於這些類型的程序(主要是使用字符輸入的程序),這是一個必需的程序?我沒有註釋這兩條readln語句。結果與只有一條readln相同。 – holyreality
真的嗎?你可以離開循環沒有進入?如果您按照Marco的建議使用CRT,您可以用'ch:= readkey'替換'read(ch)'並立即迴應'。',但必須回顯輸入。 – gammatester
感謝您解釋CRT。而且,我希望我不會誤解這裏的任何內容,但更確切地說,只要輸入一個readln,並且沒有readln語句, 「AAA」。並點擊,結果是一樣的:輸出窗口不顯示。我希望這個答案可以離開循環沒有。 –
holyreality