0
我用下面的代碼:爲什麼getche()函數會在輸入鍵被按下時覆蓋輸入?
#include <stdio.h>
int main()
{
char ch,a[5];
int j=0;
while((ch=getche())!='\n')
{
a[j]=ch;
j++;
}
printf("%c",a[2]);
return 0;
}
當我輸入的字符,然後按進入線的末端鍵,blinker`s位置被移位到屏幕的左上角和進一步的字符可以是看起來會覆蓋預先存在的字符(但不會)的輸入。
使用ch=getchar()
而不是getche()
結束循環並按預期顯示值。我無法使用getche()
獲得類似的輸出嗎?使用getche()
和'\n'
不會顯示輸出。但是,使用一些其他字符而不是'\n'
(例如n
)工作得很好。