次のコードの実行中に問題が発生しました。変数 't' は、1 回の実行が完了すると null 値を取ります。この問題は、scanf() の代わりに getch() を使用することで解決されました。しかし、なぜそれが起こっているのかわかりません。説明はありますか?動かなかったプログラムです。
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
char t;
void main()
{
while(1)
{
scanf("%c",&t);
printf("\nValue of t = %c",t);
printf("\nContinue (Y/N):");
char a=getche();
if(a=='n' || a=='N')
exit(0);
}
}
さて、これは正しく実行されるプログラムです。
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
char t;
void main()
{
while(1)
{
t=getch();
printf("\nValue of t = %c",t);
printf("\nContinue (Y/N):");
char a=getche();
if(a=='n' || a=='N')
exit(0);
}
}