Я недавно наткнулся на любопытный случай (по крайней мере, для меня, так как я не сталкивался с этим раньше). Рассмотрим простой код ниже: -
int x;
scanf("%d",&x);
printf("%d",x);
Приведенный выше код принимает обычный целочисленный вводи отображает результат, как и ожидалось ..
Теперь, если я модифицирую приведенный выше код следующим образом: -
int x;
scanf("%d ",&x);//notice the extra space after %d
printf("%d",x);
Это займет еще один дополнительный ввод, прежде чем он даст результат printfутверждение .. Я не понимаю, почему пробел приводит к изменению поведения scanf () .. Может кто-нибудь объяснить это мне ....