理解に苦しむgetchar()
。次のプログラムgetchar
では、期待どおりに動作します。
#include <stdio.h>
int main()
{
printf("Type Enter to continue...");
getchar();
return 0;
}
ただし、次のプログラムでは、getchar
は遅延を作成せず、プログラムは終了します。
#include <stdio.h>
int main()
{
char command[100];
scanf("%s", command );
printf("Type Enter to continue...");
getchar();
return 0;
}
次の奇妙な回避策がありますが、これは機能しますが、理由がわかりません。
#include <stdio.h>
int main()
{
char command[100];
int i;
scanf("%s", command );
printf("Type Enter to continue...");
while ( getchar() != '\n') {
i=0;
}
getchar();
return 0;
}
私の質問は次のとおり
です。 1. 何をしているのscanf
ですか? なぜscanf
これを行うのですか?
2. 回避策が機能するのはなぜですか?
3. 次の Python コードをエミュレートする良い方法は何ですか?
raw_input("Type Enter to continue")