以下のようなコードと実行結果を得て、どうしてこういう実行結果になるのかが分からなかったので、質問させていただきました。
どうして、入力文字を増やすとprintfの表示部分が1度に何度も現れるのでしょうか?
#include <stdio.h>
int main(void)
{
char str[5];
while(1){
printf("1:新規登録 2:追加登録 :");
fgets(str, sizeof(str), stdin);
}
return 0;
}
1:新規登録 2:追加登録 :1
1:新規登録 2:追加登録 :2
1:新規登録 2:追加登録 :aa
1:新規登録 2:追加登録 :a
1:新規登録 2:追加登録 :vb
1:新規登録 2:追加登録 :nnn
1:新規登録 2:追加登録 :cccc
1:新規登録 2:追加登録 :1:新規登録 2:追加登録 :bbbb
1:新規登録 2:追加登録 :1:新規登録 2:追加登録 :aaaaaaaaaaa
1:新規登録 2:追加登録 :1:新規登録 2:追加登録 :1:新規登録 2:追加登録 :